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); //相乘