- 51Aspx源码必读.txt[2KB]
- cspell.json[178B]
- from.jpg[11KB]
- LICENSE[9KB]
- Viyi.Util.sln[2KB]
- 最新Asp.Net源码下载.url[123B]
源码介绍
源码参数
一、源码描述
Viyi.UtilC#的常用工具扩展
环境:VS2022
二、功能介绍
主要特性 (Features)
扩展 object,
参考 Kotlin,提供了 .Also() 和 .Let() 扩展,同时支持它们的异步版本;
提供 ToXxxx() 和 ConvertTo() 方法,是 System.Convert 类中相关功能的去异常封装;
提供 As() 方法弥补 as 关键字不能应用于结构体 (struct) 类型的问题;
扩展 Linq (Enumerable),
提供 ForEach() / ForEachAsync 扩展;
注:Viyi.Util 目前不支持 IAsyncEnumerable,请使用 System.Linq.Async。
提供 AsToArray() 和 AsToList() 先尝试 as 操作,最大避免重新生成数组或列表对象;
为 .NET6 以下框架提供 MaxBy() 和 MinBy();
为 List<T> 和 T[] 分别提供 Shuffle() 扩展用来打乱其内部元素的顺序;
ViyiEnumerable<T>.Of(params T[]) 从一组单个对象创建 IEnumerable<T>;
扩展 boolean
it.Then(),if / if ... else ... 的表达式形式;
it.Else(),if not 的表达式形式;
it.Then(fnThen, fnElse),? : 的函数调用形式;
ViyiRandom 提供随机数工具
ViyiRandom.Create() 创建随机数据发生器 (Random)
在 netstandard2.1 和 net6 中使用 Random.Shared 来产生随机种子,在 netstandard2.0 中使用类似的方式,通过一个静态且线程安全的 Random 对象来产生随机种子。
ViyiRandom.RandomIndexes() 产生一组以 0 开始的随机序数,可用于产生顺序随机的数据
EnumHelper 为枚举类型提供工具方法
EnumHelper.EnumerateWith() 将枚举中定义的枚举值转换为指定对象的 IEnumerable;
EnumHelper.GetDescription() 获取枚举值的 DescriptionAttribute 描述信息;
EnumHelper.EnumerateWithDescription() 与 EnumerateWith()类似,但会去分析 DescriptionAttribute 属性,结果保存在 EnumEntry 对象中;
EnumHelper.Enumerate() 得到 IEnumerable<KeyValuePair>;
EnumHelper.ToNameValueCollection() 得到 NameValueCollection(可通过参数交换 Key-Value)
对 Compare 和 Equiality 的支持
LambdaCompare 可以通过 Lambda 来产生 IComparer<T> 对象,避免定义类;
LambdaEqualityComparer 通过 Lambda 产生 IEqualityComparer<T> 对象,避免定义类;
三、注意事项
选中项目ctrl+F5运行或者项目右键Run Tests。
下载记录(Only Recent 100)
用户名 | 推荐指数 | 下载时间 |
---|