LINQ to OBJECT函数积累

2013-12-21 17:22 568人阅读 评论(0) 收藏 举报
 分类: 我の原创(113)   LINQ(5)  
版权声明:本文为博主原创文章,未经博主允许不得转载。

1、Concat操作符

Concat操作符用于连接两个序列,生成一个新的序列。

[csharp] view plain copy 在CODE上查看代码片派生到我的代码片
string[] str1 = { "one", "two" };  
string[] str2 = { "three", "four" };  
var item = str1.Concat(str2);  


2、Reverse操作符

Reverse操作符用于将排列顺序相反。



3、Union操作符

Union操作符用于将两个序列中的元素合并成一个新的序列,新的序列将自动去除重复元素。


4、Intersect操作符
Intersect操作符将两个输入序列中的重复元素,即同时存在于两个输入序列中的元素挑选出来,生成一个新的序列。


5、Except操作符
Except操作符可以实现一种序列之间的“减法操作”运算,它返回两个序列中存在于第一个序列,但不存在与第二个序列的元素所组成的新序列。


6、Cast操作符
cast操作符用于将一个类型为IEnumerable的集合对象转换成IEnumerable<T>类型的集合对象。

[csharp] view plain copy 在CODE上查看代码片派生到我的代码片
ArrayList al = new ArrayList();  
IEnumerable<Student> list = al.Cast<Student>();  

7、ofType操作符
ofType操作符与Cast操作符类似,但ofType操作符更加安全。Cast转换失败会抛出异常,而ofType操作符仅会将能成功转换的元素进行转换。


8、Range操作符
Range操作符用于生成一个整数序列。


9、Repeat操作符
Repeat操作符用于生成一个包含指定数量的重复元素序列。


10、Empty操作符

Empty操作符用于生成一个包含指定类型元素的空序列。


11、FirstOrDefault操作符
FirstOrDefault操作符与First操作符非常相似,只无值时会返回一个相关类型的默认值元素。


12、Last与LastOrDefault操作符


13、Any操作符
Any操作符用于判断一个输入序列中是否含有元素或含有满足特定条件的元素。

[csharp] view plain copy 在CODE上查看代码片派生到我的代码片
string[] str1 = { "one", "two" };  
string[] str2 = {};  
  
bool b1 = str1.Any();    //true  
bool b2 = str2.Any();    //false  
bool b3 = str1.Any(a => a.Length > 10);    //false  
注意:如果序列为null,则异常。


14、All操作符
All操作符用于判断输入序列中的所有元素是否全部满足指定条件。

[csharp] view plain copy 在CODE上查看代码片派生到我的代码片
string[] str = { "one", "two" };  
bool flay = str.All(a => a.Length > 5);    //false  


15、Contains操作符
Contains操作符用于判断序列中是否含有指定元素。

[csharp] view plain copy 在CODE上查看代码片派生到我的代码片
string[] str = { "one" };  
bool b = str.Contains("Hello");    //false  



16、Count操作符与LongCountt操作符

LongCountt操作符与Countt操作符的基本相同。只是Count操作符以int类型返回。LongtCount操作符以Long类型返回。


17、Aggregate操作符

Aggregate操作符用于输入序列的所有元素上累计执行某个特定的方法。

[csharp] view plain copy 在CODE上查看代码片派生到我的代码片
int[] strArray = { 1, 2, 3, 4 };  
double multiply = strArray.Aggregate((result, next) => result * next);    //相乘  

  

原文地址:https://www.cnblogs.com/ruishuang208/p/5972577.html