萬國兵 發表於 2025-5-5 03:54:00

一个功能丰富的 .NET 工具库 XiHan.Framework.Utils

<h2 id="概述">概述</h2>
<p><strong>XiHan.Framework.Utils</strong> 是一个功能丰富的 .NET 工具库,涵盖了开发中常用的字符串处理、集合扩展、加密解密、分布式ID、文件IO、反射、缓存、线程、系统工具、国际化、网络、硬件信息、异常、数据过滤、Linq扩展等模块。 本库以高内聚、低耦合为设计理念,适用于各类 .NET 应用开发。</p>
<hr>
<h2 id="目录结构与模块说明">目录结构与模块说明</h2>
<h3 id="1-verifications验证工具">1. Verifications(验证工具)</h3>
<ul>
<li><strong>RegexHelper</strong>:正则表达式相关工具,支持常用正则校验。</li>
<li><strong>DataChecker</strong>:数据有效性检查工具,支持多种数据类型的校验。</li>
</ul>
<h3 id="2-security安全工具">2. Security(安全工具)</h3>
<ul>
<li><strong>Cryptography/</strong> :加密解密工具(如AesHelper等)。</li>
<li><strong>OtpHelper</strong>:一次性密码生成。</li>
<li><strong>MaskHelper</strong>:敏感信息掩码。</li>
<li><strong>PasswordStrengthChecker</strong>:密码强度检测。</li>
<li><strong>TextWatermarkHelper</strong>:文本水印处理。</li>
<li><strong>ValidateCoder</strong>:验证码生成与校验。</li>
</ul>
<h3 id="3-text文本处理">3. Text(文本处理)</h3>
<ul>
<li><strong>StringHelper</strong>:字符串分割、组装、格式化、长度计算、HTML转文本等。</li>
<li><strong>StringExtensions</strong>:字符串扩展方法。</li>
<li><strong>EncodingExtensions</strong>:编码扩展。</li>
<li><strong>Json/Xml/Yaml/Template</strong>:JSON、XML、YAML、模板处理工具。</li>
</ul>
<h3 id="4-distributedid分布式id生成">4. DistributedId(分布式ID生成)</h3>
<ul>
<li><strong>IDistributedIdGenerator</strong>:分布式ID生成接口。</li>
<li><strong>SnowflakeIdGenerator</strong>:雪花算法ID生成器。</li>
<li><strong>UuidGenerator</strong>:UUID生成。</li>
<li><strong>IdGeneratorFactory/Options</strong>:ID生成器工厂与配置。</li>
</ul>
<h3 id="5-collections集合扩展">5. Collections(集合扩展)</h3>
<ul>
<li><strong>List/Dictionary/Collection/Enumerable/TreeExtensions</strong>:集合、字典、树结构等扩展方法,支持树形结构转换、集合去重、查找等。</li>
</ul>
<h3 id="6-timing时间处理">6. Timing(时间处理)</h3>
<ul>
<li><strong>DateTimeFormatExtensions</strong>:日期时间格式化扩展。</li>
<li><strong>DateTimeRange</strong>:时间区间处理。</li>
</ul>
<h3 id="7-maths数学工具">7. Maths(数学工具)</h3>
<ul>
<li><strong>MathHelper</strong>:常用数学计算。</li>
<li><strong>MoneyFormatExtensions</strong>:金额格式化扩展。</li>
</ul>
<h3 id="8-configuration配置工具">8. Configuration(配置工具)</h3>
<ul>
<li><strong>DeepMergeHelper</strong>:对象深度合并工具,支持复杂配置合并。</li>
</ul>
<h3 id="9-reflections反射工具">9. Reflections(反射工具)</h3>
<ul>
<li><strong>Assembly/Field/Method/Member/PropertyInfoExtensions</strong>:反射相关扩展,支持类型、属性、方法等元数据操作。</li>
<li><strong>LockExtensions</strong>:锁相关扩展。</li>
</ul>
<h3 id="10-caching缓存工具">10. Caching(缓存工具)</h3>
<ul>
<li><strong>MemoryCache</strong>:内存缓存实现。</li>
<li><strong>CacheManager</strong>:缓存管理器。</li>
</ul>
<h3 id="11-threading线程工具">11. Threading(线程工具)</h3>
<ul>
<li><strong>Async/AsyncLock/AsyncHelper/Debouncer/DisposeAction</strong>:异步锁、去抖动、异步辅助、资源释放等。</li>
</ul>
<h3 id="12-system系统工具">12. System(系统工具)</h3>
<ul>
<li><strong>Parse/Enum/Type/Object/GenericExtensions</strong>:类型转换、枚举、对象操作、泛型扩展等。</li>
<li><strong>RandomHelper</strong>:随机数工具。</li>
<li><strong>CheckHelper</strong>:通用检查工具。</li>
<li><strong>GuidHelper</strong>:GUID工具。</li>
</ul>
<h3 id="13-commandline命令行工具">13. CommandLine(命令行工具)</h3>
<ul>
<li><strong>ScriptExecutor</strong>:脚本执行器。</li>
<li><strong>ShellHelper</strong>:Shell命令辅助。</li>
</ul>
<h3 id="14-attributes自定义特性">14. Attributes(自定义特性)</h3>
<ul>
<li><strong>ThemeAttribute</strong>:主题特性。</li>
</ul>
<h3 id="15-io文件与流操作">15. IO(文件与流操作)</h3>
<ul>
<li><strong>File/Directory/Stream/CompressHelper</strong>:文件、目录、流、压缩等操作。</li>
<li><strong>FileFormatExtensions</strong>:文件格式扩展。</li>
</ul>
<h3 id="16-logging日志工具">16. Logging(日志工具)</h3>
<ul>
<li><strong>ConsoleLogger</strong>:控制台日志输出。</li>
</ul>
<h3 id="17-net网络工具">17. Net(网络工具)</h3>
<ul>
<li><strong>PingHelper</strong>:Ping工具。</li>
<li><strong>IpFormatExtensions</strong>:IP格式化扩展。</li>
<li><strong>Sftp/Ssh/Http/Sse/WebSocket</strong>:网络协议相关工具。</li>
</ul>
<h3 id="18-i18n国际化工具">18. I18n(国际化工具)</h3>
<ul>
<li><strong>Format/Language/TimeZone/CurrencyHelper</strong>:格式化、多语言、时区、货币等国际化支持。</li>
</ul>
<h3 id="19-runtime运行时工具">19. Runtime(运行时工具)</h3>
<ul>
<li><strong>OSPlatformHelper</strong>:操作系统平台辅助。</li>
</ul>
<h3 id="20-hardwareinfos硬件信息">20. HardwareInfos(硬件信息)</h3>
<ul>
<li><strong>Cpu/Disk/Network/Ram/Board/RunningTimeHelper</strong>:CPU、磁盘、网络、内存、主板、运行时间等硬件信息获取。</li>
</ul>
<h3 id="21-exceptions异常处理">21. Exceptions(异常处理)</h3>
<ul>
<li><strong>CustomException</strong>:自定义异常类型。</li>
</ul>
<h3 id="22-datafilter数据过滤与分页">22. DataFilter(数据过滤与分页)</h3>
<ul>
<li><strong>Paging</strong>:分页扩展、条件解析、排序、DTO、枚举等,支持复杂数据分页与过滤。</li>
</ul>
<h3 id="23-linqlinq扩展">23. Linq(Linq扩展)</h3>
<ul>
<li><strong>Expressions</strong>:表达式树扩展、Queryable扩展。</li>
</ul>
<hr>
<h2 id="典型用法示例">典型用法示例</h2>
<h3 id="字符串处理">字符串处理</h3>
<pre><code>// 分割字符串为列表
var list = StringHelper.GetStrList("a,b,c", ',');
// 组装列表为字符串
var str = StringHelper.GetListStr(list, ',');
</code></pre>
<h3 id="集合扩展">集合扩展</h3>
<pre><code>// 树形结构转换
var tree = list.ToTree(x =&gt; x.Id, x =&gt; x.ParentId, x =&gt; x.Children);
</code></pre>
<h3 id="加密解密">加密解密</h3>
<pre><code>// AES加密
string encrypted = AesHelper.Encrypt("明文", "密码");
// AES解密
string decrypted = AesHelper.Decrypt(encrypted, "密码");
</code></pre>
<h3 id="分布式id">分布式ID</h3>
<pre><code>var generator = IdGeneratorFactory.CreateSnowflakeIdGenerator(new IdGeneratorOptions { WorkerId = 1 });
long id = generator.NextId();
</code></pre>
<h3 id="文件操作">文件操作</h3>
<pre><code>FileHelper.WriteAllText("test.txt", "内容");
string content = FileHelper.ReadAllText("test.txt");
</code></pre>
<h3 id="缓存">缓存</h3>
<pre><code>MemoryCache.Set("key", value, TimeSpan.FromMinutes(5));
var value = MemoryCache.Get("key");
</code></pre>
<h3 id="异步锁">异步锁</h3>
<pre><code>using (await asyncLock.LockAsync())
{
&nbsp; &nbsp;// 线程安全操作
}
</code></pre>
<h3 id="国际化">国际化</h3>
<pre><code>string currency = CurrencyHelper.Format(100, "CNY");
</code></pre>
<h3 id="分页与数据过滤">分页与数据过滤</h3>
<pre><code>var pageInfo = new PageInfoDto { PageIndex = 1, PageSize = 10 };
var pagedData = dataList.ToPagedList(pageInfo);
</code></pre>
<hr>
<h2 id="安装">安装</h2>
<h3 id="方式一使用-visual-studio-包管理器控制台">方式一:使用 Visual Studio 包管理器控制台</h3>
<pre><code>Install-Package XiHan.Framework.Utils
</code></pre>
<h3 id="方式二使用-net-cli">方式二:使用 .NET CLI</h3>
<pre><code>dotnet add package XiHan.Framework.Utils
</code></pre>
<h3 id="方式三通过-visual-studio-图形界面">方式三:通过 Visual Studio 图形界面</h3>
<ol start="0">
<li>右键点击你的项目,选择“管理NuGet程序包”。</li>
<li>搜索 <code>XiHan.Framework.Utils</code>。</li>
<li>点击“安装”。</li>
</ol>
<hr>
<h2 id="源码">源码</h2>
<pre><code>https://github.com/XiHanFun/XiHan.Framework/tree/main/framework/src/XiHan.Framework.Utils
</code></pre>
<hr>
<h2 id="许可证">许可证</h2>
<p>MIT License</p><br><br>
来源:https://www.cnblogs.com/zhaifanhuablog/p/18859734
頁: [1]
查看完整版本: 一个功能丰富的 .NET 工具库 XiHan.Framework.Utils