文章目录
- Masuit.Tools:一个 C# 工具库,把日常开发的脏活累活都包了
Masuit.Tools:一个 C# 工具库,把日常开发的脏活累活都包了
Masuit.Tools 是一个 C# .NET 万能工具库,目前在 GitHub 上有 6k+ Star。
这个库的定位很明确:把 C# 开发中那些你经常要写、但又不值得单独封装的代码,全部打包到一起。
字符串校验、加密解密、硬件信息获取、HTML 清洗、文件压缩、多线程下载、Excel 导出、分布式短 ID、树结构操作、表达式树扩展、中国农历……你能想到的常见操作,它基本都覆盖了。
关键是,整个库的代码量不到 2MB。
支持的 .NET 版本也很全:.NET Framework 4.5 及以上、.NET Standard 2.1、.NET Core 2.1 及以上,所有版本都能用。
安装方式
通过 NuGet 包管理器直接安装,根据项目类型选择不同的包:
.NET Core 项目:
PM> Install-Package Masuit.Tools.Core.NET Framework 项目(4.6.2 及以上):
PM> Install-Package Masuit.Tools.Net.NET Standard 项目(2.1 及以上):
PM> Install-Package Masuit.Tools.Abstraction还有 ASP.NET Core 专用包 Masuit.Tools.AspNetCore,以及 Excel 导出专用包 Masuit.Tools.Excel、MongoDB 操作专用包等增值包可以按需安装。
常用功能一览
字符串校验
一行代码判断字符串是不是邮箱、手机号、URL、IP 地址、身份证号:
var (isMatch, match) = "337845818@qq.com".MatchEmail(); bool isPhoneNumber = "15205201520".MatchPhoneNumber(); bool isUrl = "http://masuit.org/20/history".MatchUrl(); bool isIdentifyCard = "312000199502230660".MatchIdentifyCard();还支持企业统一社会信用代码、中国专利申请号等校验。
硬件监测
在 Windows 上可以直接获取 CPU 占用率、内存信息、CPU 温度、硬盘序列号等:
float load = SystemInfo.CpuLoad; long physicalMemory = SystemInfo.PhysicalMemory; double temperature = SystemInfo.GetCPUTemperature(); var cpuInfos = CpuInfo.Locals;也能获取指定进程的 CPU 和内存占用率。
HTML 防 XSS 处理
对 HTML 内容做安全清洗,去除潜在的 XSS 攻击代码:
string s = html.HtmlSanitizerStandard();内存清理
类似系统优化软件的加速球功能,一行代码整理系统内存:
Windows.ClearMemorySilent();进制转换和中文数字
支持任意进制转换,以及中文大写金额、中文数字的转换:
var num = 123.45.ToChineseMoney(); // 壹佰贰拾叁元肆角伍分 var num = 123.45.ToChineseNumber(); // 一百二十三点四五创意类型
除了常用工具方法,Masuit.Tools 还提供了一些有意思的数据类型:
- DisposableDictionary:Value 可自动释放的字典
- NullableConcurrentDictionary:Key 可为 null 的并发字典
- ConcurrentHashSet:并发安全的 HashSet
- ConcurrentLimitedQueue:定长并发队列
- LargeMemoryStream:超大内存流,最大支持 1TB 数据
- PooledMemoryStream:池化内存流,可内存复用
- ChineseCalendar:中国农历类型,支持天干地支节气
- Clay/DynamicFactory:粘土动态类型,实现类似 JS 的弱类型编程
- RadarChart:雷达图类型,用于数据分析或用户行为画像
树结构操作
实现了 ITree 接口的类型可以直接获得树形操作能力,包括层级遍历、查找、移动节点等,省去了自己写递归的麻烦。
开发环境要求
操作系统:Windows 11 23H2 及以上
开发工具:Visual Studio 2022 v17.8 及以上
SDK:.NET Core 2.1.0 及以上所有版本
项目采用 MIT 许可证,个人和企业都可以免费使用。项目作者还承诺提供完全免费的技术指导,遇到问题可以直接提 issue。
这个库适合两类人:刚入门 C# 的新手,可以直接拿来用,省去大量重复造轮子的时间;有经验的开发者,可以把它当作备忘录,很多常用操作在这里都能找到现成的实现。
证,个人和企业都可以免费使用。项目作者还承诺提供完全免费的技术指导,遇到问题可以直接提 issue。
这个库适合两类人:刚入门 C# 的新手,可以直接拿来用,省去大量重复造轮子的时间;有经验的开发者,可以把它当作备忘录,很多常用操作在这里都能找到现成的实现。