详细解决方案
LINQ(6)——LINQ常用扩展方法
热度:25 发布时间:2023-10-01 22:07:02.0
下面的方法都是IEnumerable<T>的扩展方法:
- Average计算平均值;
- Min最小元素;
- Max最大元素;
- Sum元素总和;
- Count元素数量;
- Concat连接两个序列;//Unoin all
- Contains序列是否包含指定元素;
- Distinct取得序列中的非重复元素;
- Except获得两个序列的差集;
- Intersect获得两个序列的交集;
- First取得序列第一个元素;
- Single取得序列的唯一一个元素,如果元素个数不是1个,否则报错;!!!严谨的程序。(前提:要求这个序列有且只有一个元素)。
- FirstOrDefault 取得序列第一个元素,如果没有一个元素,则返回默认值;
- Linq只能用于泛型的序列,IEnumerable<T>;对于非泛型,可以用Cast或者OfType 。(泛型要加<>)。
IEnumerable的方法:
- Cast<TResult>:由于Linq要针对泛型类型操作,对于老版本.Net类等非泛型的IEnumerable序列可以用Cast方法转换为泛型的序列。ArrayList l; IEnumerable<int> il = l.Cast<int>();
- OfType<TResult>:Cast会尝试将序列中所有元素都转换为TResult类型,如果待转换的非泛型序列中含有其他类型,则会报错。OfType则是只将序列中挑出指定类型的元素转换到泛型序列中。
- Linq的效率怎么样(小数据量、对性能要求不高的环节用linq很方便,而且延迟加载机制降低了内存占用,比一般人写的程序效率都高)。