EasilyNET.Core
3.24.1216.116
dotnet add package EasilyNET.Core --version 3.24.1216.116
NuGet\Install-Package EasilyNET.Core -Version 3.24.1216.116
<PackageReference Include="EasilyNET.Core" Version="3.24.1216.116" />
paket add EasilyNET.Core --version 3.24.1216.116
#r "nuget: EasilyNET.Core, 3.24.1216.116"
// Install EasilyNET.Core as a Cake Addin #addin nuget:?package=EasilyNET.Core&version=3.24.1216.116 // Install EasilyNET.Core as a Cake Tool #tool nuget:?package=EasilyNET.Core&version=3.24.1216.116
EasilyNET.Core
业务类型库,用于一些业务方面的类,如分页,以及业务中常用的一些数据类型和枚举类型
以及大量的静态扩展函数
枚举类型:
名称 | 用途 |
---|---|
EGender | 性别 |
ENation | 中国民族 |
ETimeOverlap | 时间重合情况 |
EZodiac | 生肖 |
- 业务常用数据类型.
名称 | 用途 |
---|---|
IdNameItem | 包含 ID 和 Name 字段的基础类 |
OperationInfo | 操作信息,包含操作人以及时间和是否完成 |
Operator | 操作人,包含 rid 和名称字段 |
ReferenceItem | 通常用来保存关联的业务信息,如 ID 和名称或者其他相关数据 |
- 其他的还有分页信息等.
ChangeLog:
- 新增基于表达式树和 Reflection 的 DeepCopy, BigNumber
- 添加异步锁
- 新增雪花 ID 算法.以及一些扩展方法.
- 新增 Ini 文件帮助类.
- 一些基础库,如数据类型,一些公共静态方法,工具函数.包含数组,日期,字符串,中国农历,拼音,身份证验证等功能
- 将 EasilyNET.Extensions 库合并到 Core 中.
- 新增百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和 WGS84 坐标系之间的转换
新增 C# 语法糖
- 正常写法
int[] array = [1, 2, 3];
foreach (var i in array)
{
Console.WriteLine(i);
}
OutPut: 1,2,3
- 新增的语法糖
foreach (var i in ..3)
{
Console.WriteLine(i);
}
OutPut: 0,1,2,3
foreach (var i in 1..3)
{
Console.WriteLine(i);
}
OutPut: 1,2,3
ZIP 压缩
- CompressionHelper 和 ZipHelper,CompressionHelper 用于压缩/解压 字节数组,ZipHelper 用于文件和文件夹的压缩和解压
当前互联网地图的坐标系现状
地球坐标(WGS84)
- 国际标准,从 GPS 设备中取出的数据的坐标系
- 国际地图提供商使用的坐标系
火星坐标(GCJ-02)也叫国测局坐标系
- 中国标准,从国行移动设备中定位获取的坐标数据使用这个坐标系
- 国家规定: 国内出版的各种地图系统(包括电子形式),必须至少采用 GCJ-02 对地理位置进行首次加密.
百度坐标(BD-09)
- 百度标准,百度 SDK,百度地图,GeoCoding 使用 -(本来就乱了,百度又在火星坐标上来个二次加密)
开发过程需要注意的事
从设备获取经纬度(GPS)坐标
如果使用的是百度 sdk 那么可以获得百度坐标(bd09)或者火星坐标(GCJ02),默认是 bd09 如果使用的是 ios 的原生定位库,那么获得的坐标是 WGS84 如果使用的是高德 sdk,那么获取的坐标是 GCJ02
互联网在线地图使用的坐标系
火星坐标系:
iOS 地图(其实是高德) Google 国内地图(.cn 域名下) 搜搜、阿里云、高德地图、腾讯百度坐标系: 当然只有百度地图 WGS84 坐标系: 国际标准,谷歌国外地图、osm 地图等国外的地图一般都是这个
// 测试经纬度问题
CoordinateConvert.BD09ToGCJ02(116.404, 39.915, out var gcjLon, out var gcjLat);
CoordinateConvert.GCJ02ToBD09(116.404, 39.915, out var bdLon, out var bdLat);
CoordinateConvert.WGS84ToGCJ02(116.404, 39.915, out var gcjLon2, out var gcjLat2);
CoordinateConvert.GCJ02ToWGS84(116.404, 39.915, out var wgsLon, out var wgsLat);
Console.WriteLine($"百度经纬度坐标转国测局坐标,经度:{gcjLon},纬度:{gcjLat}");
Console.WriteLine($"国测局坐标转百度经纬度坐标,经度:{bdLon},纬度:{bdLat}");
Console.WriteLine($"WGS84转国测局坐标,经度:{gcjLon2},纬度:{gcjLat2}");
Console.WriteLine($"国测局坐标转WGS84坐标,经度:{wgsLon},纬度:{wgsLat}");
// 百度经纬度坐标转国测局坐标,经度:116.39762729119315,纬度:39.90865673957631
// 国测局坐标转百度经纬度坐标,经度:116.41036949371029,纬度:39.92133699351021
// WGS84转国测局坐标,经度:116.41024449916938,纬度:39.91601738120746
// 国测局坐标转WGS84坐标,经度:116.39775550083061,纬度:39.91398261879254
身份证校验以及通过身份证号码获取生日,年龄,以及性别
var check = "52305199405088125".CheckIDCard(); // true or false
var birthday = "52305199405088125".CalculateBirthday(); // DateOnly
var gender = "52305199405088125".CalculateGender(); // EGender
var age = "52305199405088125".CalculateAge(); // Int32
雪花 ID 算法
// 基于 MongoDB 的 ObjectId,产生24位长度16进制字符串,
// 可以与 MongoDB 的 ObjectID 互转.
var snow = SnowId.GenerateNewId();
雪花算法,支持 Long 类型
var id = SnowFlakeId.Default.NextId(); 方便使用
也可以
var snowFlake=new SnowFlakeId(1,0l);
var nextId =snowFlake.NextId();
设置不一样的workerId
const int workerId = 123;
SnowFlakeId.SetDefaultSnowFlakeId(new(workerId));
var id = SnowFlakeId.Default.NextId();
DeepCopy
class Person
{
public string Name { get; set; } = "张三";
}
var person= new Person();
var person2 = person.DeepCopy();
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. |
-
net8.0
- Backport.System.Threading.Lock (>= 3.1.1)
- Microsoft.Extensions.DependencyModel (>= 9.0.0)
-
net9.0
- Microsoft.Extensions.DependencyModel (>= 9.0.0)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on EasilyNET.Core:
Package | Downloads |
---|---|
EasilyNET.RabbitBus.Core
抽离一些EasilyNET.RabbitBus到Core库,便于消息事件实体复用. |
|
EasilyNET.WebCore
包含Swagger的一些扩展的WebCore扩展 |
|
EasilyNET.AutoDependencyInjection
服务模块化注入.让服务注入拥有清晰的逻辑和结构 |
|
EasilyNET.WebCore.Swagger
一些Swagger的一些配置.如分组,隐藏接口,Authorize的接口添加🔒,默认值 |
|
EasilyNET.Mongo.AspNetCore
MongoDB 驱动的服务包,默认驼峰,ID和Id映射,时间本地化和枚举字符串的自动处理. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.24.1216.116 | 119 | 12/16/2024 |
3.24.1206.100 | 124 | 12/6/2024 |
3.24.1205.171 | 119 | 12/5/2024 |
3.24.1202.150 | 124 | 12/2/2024 |
3.24.1126.231 | 112 | 11/26/2024 |
3.24.1126.172 | 109 | 11/26/2024 |
3.24.1126.114 | 122 | 11/26/2024 |
3.24.1126.104 | 106 | 11/26/2024 |
3.24.1125.181 | 96 | 11/25/2024 |
3.24.1125.104 | 118 | 11/25/2024 |
3.24.1121.183 | 117 | 11/21/2024 |
3.24.1120.183 | 121 | 11/20/2024 |
3.24.1119.31 | 119 | 11/18/2024 |
3.24.1115.143 | 109 | 11/15/2024 |
3.24.1113.100 | 123 | 11/13/2024 |
3.24.1112.125 | 168 | 11/12/2024 |
3.24.1107.140 | 91 | 11/7/2024 |
3.24.1107.54 | 86 | 11/7/2024 |
3.24.1107.34 | 89 | 11/7/2024 |
3.24.1105.111 | 90 | 11/5/2024 |
3.24.1103.31 | 95 | 11/2/2024 |
3.24.1103 | 101 | 11/2/2024 |
3.24.1031.135 | 89 | 10/31/2024 |
3.24.1031.112 | 82 | 10/31/2024 |
3.24.1031.104 | 92 | 10/31/2024 |
3.24.1029.142 | 94 | 10/29/2024 |
3.24.1025.30 | 188 | 10/24/2024 |
3.24.1022.142 | 81 | 10/22/2024 |
3.24.1018.204 | 137 | 10/18/2024 |
3.24.1018.175 | 133 | 10/18/2024 |
3.24.1018.166 | 132 | 10/18/2024 |
3.24.1018.93 | 142 | 10/18/2024 |
3.24.1017.42 | 101 | 10/16/2024 |
3.24.1016.161 | 106 | 10/16/2024 |
3.24.1015.231 | 91 | 10/15/2024 |
3.24.1015.14 | 92 | 10/14/2024 |
3.24.1012.114 | 89 | 10/12/2024 |
3.24.1009.115 | 102 | 10/9/2024 |
3.24.1008.160 | 95 | 10/8/2024 |
3.24.1008.133 | 94 | 10/8/2024 |
3.24.1007.185 | 95 | 10/7/2024 |
3.24.1003.33 | 102 | 10/2/2024 |
3.24.1002.162 | 101 | 10/2/2024 |
3.24.929.143 | 234 | 9/29/2024 |
3.24.929.141 | 100 | 9/29/2024 |
3.24.929.131 | 95 | 9/29/2024 |
3.24.929.122 | 102 | 9/29/2024 |
3.24.926.184 | 93 | 9/26/2024 |
3.24.926.182 | 87 | 9/26/2024 |
3.24.926.175 | 92 | 9/26/2024 |
3.24.924.160 | 96 | 9/24/2024 |
3.24.924.133 | 103 | 9/24/2024 |
3.24.924.124 | 86 | 9/24/2024 |
3.24.924.10 | 91 | 9/23/2024 |
3.24.924.1 | 85 | 9/23/2024 |
3.24.923.234 | 91 | 9/23/2024 |
3.24.923.232 | 81 | 9/23/2024 |
3.24.923.155 | 97 | 9/23/2024 |
3.24.919.92 | 105 | 9/19/2024 |
3.24.914.125 | 273 | 9/14/2024 |
3.24.914.115 | 97 | 9/14/2024 |
3.24.914.111 | 97 | 9/14/2024 |
3.24.911.95 | 156 | 9/11/2024 |
3.24.908.215 | 103 | 9/8/2024 |
3.24.904.200 | 104 | 9/4/2024 |
3.24.828.163 | 129 | 8/28/2024 |
3.24.820.173 | 117 | 8/20/2024 |
3.24.814.92 | 120 | 8/14/2024 |
3.24.812.115 | 120 | 8/12/2024 |
3.24.802.100 | 95 | 8/2/2024 |
3.24.801.162 | 89 | 8/1/2024 |
3.24.801.160 | 87 | 8/1/2024 |
3.24.801.155 | 72 | 8/1/2024 |
3.24.801.153 | 64 | 8/1/2024 |
3.24.730.164 | 83 | 7/30/2024 |
3.24.730.91 | 77 | 7/30/2024 |
3.24.724.91 | 87 | 7/24/2024 |
3.24.718.105 | 98 | 7/18/2024 |
3.24.716.95 | 96 | 7/16/2024 |
3.24.712.94 | 102 | 7/12/2024 |
3.24.710.14 | 103 | 7/9/2024 |
3.24.709.105 | 107 | 7/9/2024 |
3.24.704.94 | 98 | 7/4/2024 |
3.24.701.90 | 105 | 7/1/2024 |
3.24.628.114 | 122 | 6/28/2024 |
3.24.627.145 | 97 | 6/27/2024 |
3.24.620.160 | 107 | 6/20/2024 |
3.24.613.115 | 99 | 6/13/2024 |
3.24.612.95 | 94 | 6/12/2024 |
3.24.528.90 | 99 | 5/28/2024 |
3.24.522.84 | 112 | 5/22/2024 |
3.24.512.213 | 90 | 5/12/2024 |
3.24.508.112 | 114 | 5/8/2024 |
2.2024.428.71 | 112 | 4/28/2024 |
2.2024.427.1128 | 109 | 4/27/2024 |
2.2.72 | 176 | 4/14/2024 |
2.2.71 | 104 | 4/12/2024 |
2.2.8 | 98 | 4/26/2024 |
2.2.6 | 106 | 4/10/2024 |
2.2.5 | 132 | 3/26/2024 |
2.2.4 | 136 | 3/25/2024 |
2.2.3 | 134 | 3/24/2024 |
2.2.2 | 145 | 3/21/2024 |
2.2.1 | 130 | 3/20/2024 |
2.2.0 | 139 | 3/13/2024 |
2.1.9 | 162 | 2/21/2024 |
2.1.8 | 149 | 2/18/2024 |
2.1.7 | 164 | 2/16/2024 |
2.1.6 | 201 | 2/14/2024 |
2.1.5 | 145 | 2/14/2024 |
2.1.4 | 331 | 2/9/2024 |
2.1.3 | 332 | 2/8/2024 |
2.1.2 | 386 | 2/5/2024 |
2.1.1.2 | 494 | 12/26/2023 |
2.1.1.1 | 366 | 12/26/2023 |
2.1.1 | 417 | 12/25/2023 |
2.1.0 | 459 | 12/17/2023 |
2.0.11 | 523 | 12/6/2023 |
2.0.1 | 503 | 11/15/2023 |
2.0.0 | 433 | 11/14/2023 |
1.9.1 | 383 | 11/1/2023 |
1.9.0 | 380 | 10/19/2023 |
1.9.0-preview2 | 553 | 10/12/2023 |
1.9.0-preview1 | 331 | 10/12/2023 |
1.8.9 | 397 | 10/11/2023 |
1.8.8 | 385 | 10/11/2023 |
1.8.7-rc2 | 363 | 9/21/2023 |
1.8.7-rc1 | 346 | 9/12/2023 |
1.8.6 | 402 | 8/31/2023 |
1.8.5 | 1,106 | 8/25/2023 |
1.8.4 | 426 | 8/24/2023 |
1.8.3 | 422 | 8/23/2023 |
1.8.2 | 521 | 8/22/2023 |
1.8.1 | 455 | 8/18/2023 |
1.8.0 | 452 | 8/15/2023 |
1.7.9 | 490 | 8/11/2023 |
1.7.8 | 430 | 8/11/2023 |
1.7.7 | 462 | 8/10/2023 |
1.7.6 | 447 | 8/9/2023 |
1.7.5 | 515 | 8/9/2023 |
1.7.4 | 574 | 8/3/2023 |
1.7.3 | 496 | 8/1/2023 |
1.7.2 | 456 | 7/31/2023 |
1.7.1 | 445 | 7/27/2023 |
1.7.0 | 462 | 7/25/2023 |
1.6.9 | 457 | 7/25/2023 |
1.6.8 | 451 | 7/24/2023 |
1.6.7 | 487 | 7/20/2023 |
1.6.6 | 469 | 7/19/2023 |
1.6.5 | 447 | 7/19/2023 |
1.6.4 | 456 | 7/17/2023 |
1.6.3 | 441 | 7/17/2023 |
1.6.2 | 510 | 7/12/2023 |
1.6.1 | 531 | 6/30/2023 |
1.6.0 | 456 | 6/26/2023 |
1.5.9 | 471 | 6/22/2023 |
1.5.8 | 503 | 6/15/2023 |
1.5.7.1 | 479 | 6/14/2023 |
1.5.7 | 502 | 6/14/2023 |
1.5.6.2 | 554 | 6/7/2023 |
1.5.6.1 | 484 | 6/7/2023 |
1.5.6 | 479 | 6/7/2023 |
1.5.5.2 | 543 | 5/26/2023 |
1.5.5.1 | 523 | 5/26/2023 |
1.5.5 | 526 | 5/26/2023 |
1.5.4.4 | 505 | 5/25/2023 |
1.5.4.3 | 545 | 5/23/2023 |
1.5.4.2 | 609 | 5/17/2023 |
1.5.4.1 | 496 | 5/16/2023 |
1.5.4 | 604 | 5/11/2023 |
1.5.3 | 534 | 5/11/2023 |
1.5.2 | 506 | 5/10/2023 |
1.5.1 | 480 | 5/10/2023 |
1.5.0 | 519 | 5/6/2023 |
1.4.0 | 213 | 5/5/2023 |
1.3.9 | 245 | 4/23/2023 |
1.3.8.6 | 157 | 4/23/2023 |
1.3.8.5 | 118 | 4/21/2023 |
1.3.8.1 | 189 | 4/12/2023 |
1.3.8 | 129 | 4/11/2023 |
1.3.8-pre | 93 | 4/11/2023 |
1.3.7 | 148 | 4/9/2023 |
1.3.6.3 | 194 | 4/1/2023 |
1.3.6.2 | 124 | 3/31/2023 |
1.3.6.1 | 114 | 3/31/2023 |
1.3.6 | 111 | 3/31/2023 |
1.3.5 | 121 | 3/30/2023 |
1.3.4.1 | 177 | 3/29/2023 |
1.3.4 | 129 | 3/28/2023 |
1.3.3 | 104 | 3/28/2023 |
1.3.2 | 139 | 3/26/2023 |
1.3.1 | 183 | 3/22/2023 |
1.3.0 | 139 | 3/21/2023 |
1.2.0 | 117 | 3/21/2023 |
1.1.0 | 250 | 3/17/2023 |
1.0.9 | 265 | 3/15/2023 |
1.0.8 | 263 | 3/15/2023 |
1.0.7 | 242 | 3/15/2023 |
1.0.6 | 279 | 3/13/2023 |
1.0.5 | 255 | 3/13/2023 |
1.0.4 | 255 | 3/13/2023 |
1.0.2 | 300 | 2/28/2023 |
1.0.1 | 294 | 2/23/2023 |
1.0.0 | 538 | 2/20/2023 |