当前位置: 代码迷 >> 综合 >> LINQ(6)——LINQ常用扩展方法
  详细解决方案

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很方便,而且延迟加载机制降低了内存占用,比一般人写的程序效率都高)。
  相关解决方案