1、Concat操作符
Concat操作符用于连接两个序列,生成一个新的序列。
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>类型的集合对象。
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操作符用于判断一个输入序列中是否含有元素或含有满足特定条件的元素。
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操作符用于判断输入序列中的所有元素是否全部满足指定条件。
string[] str = { "one", "two" };
bool flay = str.All(a => a.Length > 5); //false
15、Contains操作符
Contains操作符用于判断序列中是否含有指定元素。
string[] str = { "one" };
bool b = str.Contains("Hello"); //false
16、Count操作符与LongCountt操作符
LongCountt操作符与Countt操作符的基本相同。只是Count操作符以int类型返回。LongtCount操作符以Long类型返回。
17、Aggregate操作符
Aggregate操作符用于输入序列的所有元素上累计执行某个特定的方法。
int[] strArray = { 1, 2, 3, 4 };
double multiply = strArray.Aggregate((result, next) => result * next); //相乘