马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
概述
XiHan.Framework.Utils 是一个功能丰富的 .NET 工具库,涵盖了开发中常用的字符串处理、集合扩展、加密解密、分布式ID、文件IO、反射、缓存、线程、系统工具、国际化、网络、硬件信息、异常、数据过滤、Linq扩展等模块。 本库以高内聚、低耦合为设计理念,适用于各类 .NET 应用开发。
目次结构与模块说明
1. Verifications(验证工具)
- RegexHelper:正则表达式相关工具,支持常用正则校验。
- DataChecker:数据有用性检查工具,支持多种数据类型的校验。
2. Security(安全工具)
- Cryptography/ :加密解密工具(如AesHelper等)。
- OtpHelper:一次性暗码生成。
- MaskHelper:敏感信息掩码。
- PasswordStrengthChecker:暗码强度检测。
- TextWatermarkHelper:文本水印处理。
- ValidateCoder:验证码生成与校验。
3. Text(文本处理)
- StringHelper:字符串分割、组装、格式化、长度计算、HTML转文本等。
- StringExtensions:字符串扩展方法。
- EncodingExtensions:编码扩展。
- Json/Xml/Yaml/Template:JSON、XML、YAML、模板处理工具。
4. DistributedId(分布式ID生成)
- IDistributedIdGenerator:分布式ID生成接口。
- SnowflakeIdGenerator:雪花算法ID生成器。
- UuidGenerator:UUID生成。
- IdGeneratorFactory/Options:ID生成器工厂与设置。
5. Collections(集合扩展)
- List/Dictionary/Collection/Enumerable/TreeExtensions:集合、字典、树结构等扩展方法,支持树形结构转换、集合去重、查找等。
6. Timing(时间处理)
- DateTimeFormatExtensions:日期时间格式化扩展。
- DateTimeRange:时间区间处理。
7. Maths(数学工具)
- MathHelper:常用数学计算。
- MoneyFormatExtensions:金额格式化扩展。
8. Configuration(设置工具)
- DeepMergeHelper:对象深度合并工具,支持复杂设置合并。
9. Reflections(反射工具)
- Assembly/Field/Method/Member/PropertyInfoExtensions:反射相关扩展,支持类型、属性、方法等元数据操作。
- LockExtensions:锁相关扩展。
10. Caching(缓存工具)
- MemoryCache:内存缓存实现。
- CacheManager:缓存管理器。
11. Threading(线程工具)
- Async/AsyncLock/AsyncHelper/Debouncer/DisposeAction:异步锁、去抖动、异步辅助、资源开释等。
12. System(系统工具)
- Parse/Enum/Type/Object/GenericExtensions:类型转换、枚举、对象操作、泛型扩展等。
- RandomHelper:随机数工具。
- CheckHelper:通用检查工具。
- GuidHelper:GUID工具。
13. CommandLine(命令行工具)
- ScriptExecutor:脚本执行器。
- ShellHelper:Shell命令辅助。
14. Attributes(自界说特性)
15. IO(文件与流操作)
- File/Directory/Stream/CompressHelper:文件、目次、流、压缩等操作。
- FileFormatExtensions:文件格式扩展。
16. Logging(日志工具)
17. Net(网络工具)
- PingHelper:Ping工具。
- IpFormatExtensions:IP格式化扩展。
- Sftp/Ssh/Http/Sse/WebSocket:网络协议相关工具。
18. I18n(国际化工具)
- Format/Language/TimeZone/CurrencyHelper:格式化、多语言、时区、货币等国际化支持。
19. Runtime(运行时工具)
- OSPlatformHelper:操作系统平台辅助。
20. HardwareInfos(硬件信息)
- Cpu/Disk/Network/Ram/Board/RunningTimeHelper:CPU、磁盘、网络、内存、主板、运行时间等硬件信息获取。
21. Exceptions(异常处理)
22. DataFilter(数据过滤与分页)
- Paging:分页扩展、条件解析、排序、DTO、枚举等,支持复杂数据分页与过滤。
23. Linq(Linq扩展)
- Expressions:表达式树扩展、Queryable扩展。
典范用法示例
字符串处理
- // 分割字符串为列表
- var list = StringHelper.GetStrList("a,b,c", ',');
- // 组装列表为字符串
- var str = StringHelper.GetListStr(list, ',');
复制代码 集合扩展
- // 树形结构转换
- var tree = list.ToTree(x => x.Id, x => x.ParentId, x => x.Children);
复制代码 加密解密
- // AES加密
- string encrypted = AesHelper.Encrypt("明文", "密码");
- // AES解密
- string decrypted = AesHelper.Decrypt(encrypted, "密码");
复制代码 分布式ID
- var generator = IdGeneratorFactory.CreateSnowflakeIdGenerator(new IdGeneratorOptions { WorkerId = 1 });
- long id = generator.NextId();
复制代码 文件操作
- FileHelper.WriteAllText("test.txt", "内容");
- string content = FileHelper.ReadAllText("test.txt");
复制代码 缓存
- MemoryCache.Set("key", value, TimeSpan.FromMinutes(5));
- var value = MemoryCache.Get("key");
复制代码 异步锁
- using (await asyncLock.LockAsync())
- {
- // 线程安全操作
- }
复制代码 国际化
- string currency = CurrencyHelper.Format(100, "CNY");
复制代码 分页与数据过滤
- var pageInfo = new PageInfoDto { PageIndex = 1, PageSize = 10 };
- var pagedData = dataList.ToPagedList(pageInfo);
复制代码 安装
方式一:使用 Visual Studio 包管理器控制台
- Install-Package XiHan.Framework.Utils
复制代码 方式二:使用 .NET CLI
- dotnet add package XiHan.Framework.Utils
复制代码 方式三:通过 Visual Studio 图形界面
- 右键点击你的项目,选择“管理NuGet程序包”。
- 搜索 XiHan.Framework.Utils。
- 点击“安装”。
源码
- https://github.com/XiHanFun/XiHan.Framework/tree/main/framework/src/XiHan.Framework.Utils
复制代码 许可证
MIT License
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
|