LINQ扩展库Ix.NET
来源:互联网 发布:餐饮股份怎么算法 编辑:程序博客网 时间:2024/05/16 07:50
Ix.NET
Ix.NET库是Reactive Extension的一部分。这个库在System.Interactive程序集内提供了一些针对LINQ的扩展。使用Visual Studio的NuGet包管理器搜索Ix-Main可以下载并管理这个库。
下载之后工程会自动添加对System.Interactive程序集的引用,并且Ix.NET中对于LINQ的扩展均位于System.Linq名字空间内,因此不需要额外的引用其他名字空间就可以使用这些扩展了。
下面让我们来看看Ix.NET库中针对LINQ的扩展。
ForEach方法
说明:针对序列元素的ForEach方法。
Generate方法
说明:通过模拟循环来生成序列。
// 生成斐波那契数列中前10个数:[0,1,1,2,3,5,8,13,21,34]EnumerableEx.Generate( new { v1 = 0, v2 = 1 }, // initial _ => true, // condition a => new { v1 = a.v2, v2 = a.v1 + a.v2 }, // iterate a => a.v1 // resultSelector).Take(10).ForEach(Console.WriteLine);
MaxBy方法,MinBy方法,Distinct方法
说明:通过比较键值来返回具有最大(最小,不同)键值的元素序列。
// 返回绝对值最大的元素序列[4,-4]new[] { 1, -2, 3, 4, -4 }.MaxBy(Math.Abs);// 返回除以4余数最小的元素序列[1,5]new[] { 1, 2, 3, 5 }.MinBy(x => x % 4);// 返回除以5余数首次出现时的元素序列[0,1,2,3,4]Enumerable.Range(0, 10).Distinct(x => x % 5);
IgnoreElements方法
说明:返回源序列所对应的空序列。
Return方法
说明:返回由单个元素所组成的序列。
IsEmpty方法
说明:判断序列是否为空。
// 序列[1,2,3]所对应的空序列为空,返回Truenew[] { 1, 2, 3 }.IgnoreElements().IsEmpty();// 序列[3]不为空,返回FalseEnumerableEx.Return(3).IsEmpty();
DistinctUntilChanged方法
说明:比较相邻元素的键值,返回去除重复元素后的序列。
// 返回序列[1,2,3,4,3,4]new[] { 1, 1, 2, 2, 2, 3, 4, 3, 4 }.DistinctUntilChanged();
Scan方法
说明:应用聚合函数,给出所有的中间结果组成的序列。
// 返回序列[1,3,6,10]new[] { 1, 2, 3, 4 }.Scan((acc, x) => acc + x)
0 0
- LINQ扩展库Ix.NET
- LINQ扩展库Ix.NET
- LINQ: Building an IQueryable Provider - Part IX
- .net linq
- LINQ vs 扩展方法
- 关于LINQ扩展方法
- LINQ与扩展方法
- linq 扩展方法
- Linq常用扩展方法
- linq扩展方法
- Linq之扩展方法
- [ASP.NET-IX] 控件显示切换 交互数据库
- 学习Linq之扩展方法
- Linq动态排序扩展方法
- C# Linq扩展方法应用
- Sunshine与linq扩展方法
- Linq扩展组件:LINQKit介绍
- 【linq基础】4.扩展方法
- JAVA / Android SDK的安装与环境变量配置
- POJ 3225 Help with Intervals 线段树
- Yii2.0开发——控制器(Controller)
- Datatables:列的自定义呈现
- Maven介绍
- LINQ扩展库Ix.NET
- Python初学者的17个技巧
- JDBC的那点事之DatabaseMetaData之获取表的所有列名
- CSS3模拟侧滑菜单
- Java UDP Socket消息发送
- jeecg 操作BLOB字段
- 一些你不知道的CSS属性
- HDU 1233 还是畅通工程
- JAVA中UDP 接受与发送数据的初步步骤