Chet.Utils 1.5.0

dotnet add package Chet.Utils --version 1.5.0
                    
NuGet\Install-Package Chet.Utils -Version 1.5.0
                    
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="Chet.Utils" Version="1.5.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Chet.Utils" Version="1.5.0" />
                    
Directory.Packages.props
<PackageReference Include="Chet.Utils" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Chet.Utils --version 1.5.0
                    
#r "nuget: Chet.Utils, 1.5.0"
                    
#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.
#:package Chet.Utils@1.5.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Chet.Utils&version=1.5.0
                    
Install as a Cake Addin
#tool nuget:?package=Chet.Utils&version=1.5.0
                    
Install as a Cake Tool

Chet.Utils

概述

Chet.Utils 是一个为 .NET 开发提供全面辅助工具的类库。该项目旨在简化代码编写过程中的常见操作,提高开发效率,减少重复代码。所有扩展方法和帮助类都经过精心设计,遵循 .NET 最佳实践,提供完整的 XML 文档注释。

特性

  • 🚀 高性能 - 经过优化的实现,减少不必要的内存分配
  • 🔒 安全可靠 - 完善的空值检查和异常处理
  • 📖 完整文档 - 所有方法都有详细的 XML 注释和使用示例
  • 🧪 单元测试 - 核心功能都有对应的单元测试覆盖
  • 🎯 易于使用 - 直观的 API 设计,符合 .NET 命名规范

主要功能

扩展方法

扩展类 说明 详细文档
BoolExtensions Bool 扩展方法,提供基础判断、逻辑运算、类型转换、条件执行等功能 查看详情
DataTableExtensions DataTable 扩展方法,提供数据转换、查询、操作、序列化等功能 查看详情
DateTimeExtensions DateTime 扩展方法,提供日期判断、格式化、计算、转换等功能 查看详情
DecimalExtensions decimal 扩展方法,提供数值判断、数学运算、格式化、类型转换等功能 查看详情
DoubleExtensions double 扩展方法,提供数值判断、数学运算、格式化、类型转换等功能 查看详情
EnumExtensions Enum 扩展方法,提供枚举判断、转换、描述获取、标志操作等功能 查看详情
EnumerableExtensions IEnumerable/ICollection 扩展方法,提供集合判断、转换、分页、统计等功能 查看详情
FileExtensions 文件扩展方法,提供文件读写、判断、信息获取、哈希计算等功能 查看详情
FloatExtensions float 扩展方法,提供数值判断、数学运算、格式化、类型转换等功能 查看详情
IntExtensions int 扩展方法,提供数值判断、数学运算、格式化、中文转换等功能 查看详情
StreamExtensions Stream 扩展方法,提供流读写、转换、压缩、哈希计算等功能 查看详情
StringExtensions string 扩展方法,提供空值判断、正则验证、类型转换、编码解码等功能 查看详情

帮助类

帮助类 说明 详细文档
ApplicationHelper 应用程序帮助类,提供进程管理、内存优化、系统信息获取等功能 查看详情
DataTableHelper 数据表帮助类,提供数据透视、数据分析、数据清洗等高级功能 查看详情
FileHelper 文件帮助类,提供文件监控、临时文件管理、文件比较等高级功能 查看详情
HttpClientHelper HTTP 客户端帮助类,提供重试机制、超时控制、认证管理等功能 查看详情
ReflectHelper 反射帮助类,提供类型检查、属性操作、方法调用、表达式树等功能 查看详情
RegexHelper 正则表达式帮助类,提供常用验证、匹配、替换、提取等功能 查看详情
StopwatchHelper 计时帮助类,提供高精度计时、性能统计、基准测试等功能 查看详情
TaskHelper 任务帮助类,提供超时控制、重试机制、并行处理、任务调度等功能 查看详情
UnitHelper 单位帮助类,提供长度、货币、质量、角度等多种单位转换功能 查看详情
WebSocketHelper WebSocket 帮助类,提供客户端/服务端连接管理、消息收发、心跳检测等功能 查看详情

安装

NuGet 包管理器

Install-Package Chet.Utils

.NET CLI

dotnet add package Chet.Utils

PackageReference

<PackageReference Include="Chet.Utils" Version="1.5.0" />

快速开始

使用扩展方法

using Chet.Utils;

// 字符串扩展
string email = "test@example.com";
bool isValid = email.IsEmail(); // true

// 日期扩展
DateTime date = DateTime.Now;
bool isWeekend = date.IsWeekend(); // 判断是否周末
string formatted = date.ToChineseDateString(); // "二〇二四年一月一日"

// 集合扩展
var list = new List<int> { 1, 2, 3, 4, 5 };
var page = list.GetPage(1, 2); // 分页获取数据
bool isEmpty = list.IsNullOrEmpty(); // 判断是否为空

// 数值扩展
int value = 12345;
string thousands = value.ToThousandsString(); // "12,345"
string chinese = value.ToChineseNumber(); // "一万二千三百四十五"

使用帮助类

using Chet.Utils.Helpers;

// HTTP 客户端
var httpHelper = new HttpClientHelper();
var response = await httpHelper.GetAsync<string>("https://api.example.com/data");

// 正则表达式
bool isPhone = RegexHelper.IsMobilePhone("13800138000");
var emails = RegexHelper.ExtractEmails("联系邮箱: test@example.com");

// 计时器
var elapsed = StopwatchHelper.Measure(() => 
{
    // 要测试的代码
});
Console.WriteLine($"执行时间: {elapsed.TotalMilliseconds}ms");

// WebSocket 客户端
var wsClient = new WebSocketHelper();
wsClient.OnMessageReceived += (sender, e) => Console.WriteLine(e.Message);
await wsClient.ConnectAsync(new Uri("ws://localhost:8080"));
await wsClient.SendMessageAsync("Hello, World!");

系统要求

  • .NET 8.0 或更高版本
  • .NET Standard 2.0(部分功能)

版本更新

v1.5.0 (当前版本)

新功能

重构所有扩展类和帮助类,使其更通用、更易用

v1.4.0

新增功能

  • ✨ 添加 WebSocket 帮助类,包含客户端和服务端实现
    • 支持连接管理、消息收发、心跳检测、自动重连
    • 支持消息队列、广播、组播等功能
  • ✨ StringExtensions 类扩展了部分方法

改进

  • 📝 完善所有扩展类和帮助类的 XML 文档注释
  • 📝 更新所有功能文档,添加详细的使用示例
  • 🔧 优化代码结构,提高代码可读性

v1.3.0

新增功能

  • ✨ 添加 ApplicationHelper 应用程序帮助类
  • ✨ 添加 ReflectHelper 反射帮助类
  • ✨ 添加 StopwatchHelper 计时帮助类
  • ✨ 添加 TaskHelper 任务帮助类
  • ✨ 添加 UnitHelper 单位帮助类

v1.2.0

新增功能

  • ✨ 添加 DataTableHelper 数据表帮助类
  • ✨ 添加 FileHelper 文件帮助类
  • ✨ 添加 RegexHelper 正则表达式帮助类

v1.1.0

新增功能

  • ✨ 添加 HttpClientHelper HTTP 客户端帮助类
  • ✨ 完善扩展方法类

v1.0.0

初始版本

  • 🎉 基础扩展方法类(Bool、DateTime、Decimal、Double、Float、Int、String、Enumerable)
  • 🎉 基础帮助类

贡献指南

欢迎提交 Issue 和 Pull Request 来帮助改进这个项目。

许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。

联系方式

如有问题或建议,请通过以下方式联系:

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 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.5.0 102 4/21/2026
1.4.0 300 11/11/2025
1.3.0 197 11/7/2025
1.2.0 198 10/22/2025
1.1.0 197 10/21/2025
1.0.2 198 10/9/2025
1.0.1 188 10/9/2025
1.0.0 186 10/9/2025