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                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EasilyNET.Core" Version="3.24.1216.116" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EasilyNET.Core --version 3.24.1216.116                
#r "nuget: EasilyNET.Core, 3.24.1216.116"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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