EasilyNET.Core 3.24.1015.14

There is a newer version of this package available.
See the version list below for details.
dotnet add package EasilyNET.Core --version 3.24.1015.14                
NuGet\Install-Package EasilyNET.Core -Version 3.24.1015.14                
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.1015.14" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EasilyNET.Core --version 3.24.1015.14                
#r "nuget: EasilyNET.Core, 3.24.1015.14"                
#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.1015.14

// Install EasilyNET.Core as a Cake Tool
#tool nuget:?package=EasilyNET.Core&version=3.24.1015.14                
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 (5)

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

类似于ABP框架的自动模块注入,独立出来单独维护.

EasilyNET.Mongo.AspNetCore

MongoDB 驱动的服务包,默认驼峰,ID和Id映射,时间本地化和枚举字符串的自动处理.

EasilyNET.EntityFrameworkCore

EntityFrameworkCore

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.24.1105.111 22 11/5/2024
3.24.1103.31 45 11/2/2024
3.24.1103 45 11/2/2024
3.24.1031.135 50 10/31/2024
3.24.1031.112 44 10/31/2024
3.24.1031.104 47 10/31/2024
3.24.1029.142 78 10/29/2024
3.24.1025.30 159 10/24/2024
3.24.1022.142 70 10/22/2024
3.24.1018.204 128 10/18/2024
3.24.1018.175 124 10/18/2024
3.24.1018.166 123 10/18/2024
3.24.1018.93 133 10/18/2024
3.24.1017.42 91 10/16/2024
3.24.1016.161 92 10/16/2024
3.24.1015.231 81 10/15/2024
3.24.1015.14 82 10/14/2024
3.24.1012.114 79 10/12/2024
3.24.1009.115 92 10/9/2024
3.24.1008.160 84 10/8/2024
3.24.1008.133 82 10/8/2024
3.24.1007.185 84 10/7/2024
3.24.1003.33 90 10/2/2024
3.24.1002.162 91 10/2/2024
3.24.929.143 225 9/29/2024
3.24.929.141 89 9/29/2024
3.24.929.131 87 9/29/2024
3.24.929.122 93 9/29/2024
3.24.926.184 82 9/26/2024
3.24.926.182 77 9/26/2024
3.24.926.175 83 9/26/2024
3.24.924.160 87 9/24/2024
3.24.924.133 92 9/24/2024
3.24.924.124 77 9/24/2024
3.24.924.10 81 9/23/2024
3.24.924.1 74 9/23/2024
3.24.923.234 81 9/23/2024
3.24.923.232 71 9/23/2024
3.24.923.155 84 9/23/2024
3.24.919.92 94 9/19/2024
3.24.914.125 262 9/14/2024
3.24.914.115 83 9/14/2024
3.24.914.111 84 9/14/2024
3.24.911.95 146 9/11/2024
3.24.908.215 90 9/8/2024
3.24.904.200 96 9/4/2024
3.24.828.163 118 8/28/2024
3.24.820.173 104 8/20/2024
3.24.814.92 106 8/14/2024
3.24.812.115 110 8/12/2024
3.24.802.100 83 8/2/2024
3.24.801.162 80 8/1/2024
3.24.801.160 76 8/1/2024
3.24.801.155 63 8/1/2024
3.24.801.153 53 8/1/2024
3.24.730.164 73 7/30/2024
3.24.730.91 66 7/30/2024
3.24.724.91 79 7/24/2024
3.24.718.105 88 7/18/2024
3.24.716.95 85 7/16/2024
3.24.712.94 93 7/12/2024
3.24.710.14 95 7/9/2024
3.24.709.105 96 7/9/2024
3.24.704.94 88 7/4/2024
3.24.701.90 94 7/1/2024
3.24.628.114 114 6/28/2024
3.24.627.145 88 6/27/2024
3.24.620.160 100 6/20/2024
3.24.613.115 91 6/13/2024
3.24.612.95 85 6/12/2024
3.24.528.90 91 5/28/2024
3.24.522.84 101 5/22/2024
3.24.512.213 80 5/12/2024
3.24.508.112 101 5/8/2024
2.2024.428.71 106 4/28/2024
2.2024.427.1128 100 4/27/2024
2.2.72 170 4/14/2024
2.2.71 96 4/12/2024
2.2.8 89 4/26/2024
2.2.6 95 4/10/2024
2.2.5 126 3/26/2024
2.2.4 129 3/25/2024
2.2.3 128 3/24/2024
2.2.2 138 3/21/2024
2.2.1 122 3/20/2024
2.2.0 133 3/13/2024
2.1.9 156 2/21/2024
2.1.8 141 2/18/2024
2.1.7 155 2/16/2024
2.1.6 195 2/14/2024
2.1.5 139 2/14/2024
2.1.4 321 2/9/2024
2.1.3 319 2/8/2024
2.1.2 380 2/5/2024
2.1.1.2 485 12/26/2023
2.1.1.1 359 12/26/2023
2.1.1 407 12/25/2023
2.1.0 450 12/17/2023
2.0.11 516 12/6/2023
2.0.1 496 11/15/2023
2.0.0 427 11/14/2023
1.9.1 376 11/1/2023
1.9.0 371 10/19/2023
1.9.0-preview2 542 10/12/2023
1.9.0-preview1 327 10/12/2023
1.8.9 388 10/11/2023
1.8.8 378 10/11/2023
1.8.7-rc2 359 9/21/2023
1.8.7-rc1 341 9/12/2023
1.8.6 396 8/31/2023
1.8.5 1,056 8/25/2023
1.8.4 420 8/24/2023
1.8.3 414 8/23/2023
1.8.2 515 8/22/2023
1.8.1 450 8/18/2023
1.8.0 446 8/15/2023
1.7.9 484 8/11/2023
1.7.8 422 8/11/2023
1.7.7 456 8/10/2023
1.7.6 441 8/9/2023
1.7.5 509 8/9/2023
1.7.4 568 8/3/2023
1.7.3 489 8/1/2023
1.7.2 450 7/31/2023
1.7.1 440 7/27/2023
1.7.0 457 7/25/2023
1.6.9 450 7/25/2023
1.6.8 446 7/24/2023
1.6.7 478 7/20/2023
1.6.6 463 7/19/2023
1.6.5 441 7/19/2023
1.6.4 450 7/17/2023
1.6.3 435 7/17/2023
1.6.2 505 7/12/2023
1.6.1 525 6/30/2023
1.6.0 451 6/26/2023
1.5.9 466 6/22/2023
1.5.8 498 6/15/2023
1.5.7.1 474 6/14/2023
1.5.7 497 6/14/2023
1.5.6.2 548 6/7/2023
1.5.6.1 479 6/7/2023
1.5.6 472 6/7/2023
1.5.5.2 533 5/26/2023
1.5.5.1 517 5/26/2023
1.5.5 518 5/26/2023
1.5.4.4 499 5/25/2023
1.5.4.3 540 5/23/2023
1.5.4.2 603 5/17/2023
1.5.4.1 491 5/16/2023
1.5.4 599 5/11/2023
1.5.3 528 5/11/2023
1.5.2 498 5/10/2023
1.5.1 474 5/10/2023
1.5.0 513 5/6/2023
1.4.0 207 5/5/2023
1.3.9 239 4/23/2023
1.3.8.6 151 4/23/2023
1.3.8.5 110 4/21/2023
1.3.8.1 182 4/12/2023
1.3.8 121 4/11/2023
1.3.8-pre 88 4/11/2023
1.3.7 142 4/9/2023
1.3.6.3 189 4/1/2023
1.3.6.2 118 3/31/2023
1.3.6.1 108 3/31/2023
1.3.6 105 3/31/2023
1.3.5 116 3/30/2023
1.3.4.1 172 3/29/2023
1.3.4 124 3/28/2023
1.3.3 98 3/28/2023
1.3.2 133 3/26/2023
1.3.1 178 3/22/2023
1.3.0 134 3/21/2023
1.2.0 109 3/21/2023
1.1.0 243 3/17/2023
1.0.9 260 3/15/2023
1.0.8 258 3/15/2023
1.0.7 237 3/15/2023
1.0.6 270 3/13/2023
1.0.5 249 3/13/2023
1.0.4 247 3/13/2023
1.0.2 295 2/28/2023
1.0.1 288 2/23/2023
1.0.0 532 2/20/2023