推荐 .NET 实用工具库:丰富的功能帮助大家快速开发

78 阅读4分钟

概述

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(自定义特性)

ThemeAttribute:主题特性。

15、IO(文件与流操作)

File/Directory/Stream/CompressHelper:文件、目录、流、压缩等操作。

FileFormatExtensions:文件格式扩展。

16、Logging(日志工具)

ConsoleLogger:控制台日志输出。

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(异常处理)

CustomException:自定义异常类型。

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 图形界面

1、右键点击你的项目,选择“管理NuGet程序包”。

2、搜索 XiHan.Framework.Utils

3、点击"安装"。

项目源码

github.com/XiHanFun/Xi…

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!

优秀是一种习惯,欢迎大家留言学习!

作者:摘繁华

出处:cnblogs.com/zhaifanhuablog/p/18859734

声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!