c# list<T> lambda表达式 取某一属性并去重

方法一 lambda+ Distinct()

    //方法一:
    //.Select(t => t.posType)-- 查询列表里所有的posType属性
    //.Distinct()--值类型List去重
    //.ToList()--转换为 List 类型
    List listPosType = magList.Select(t => t.posType).Distinct().ToList();
    

 方法二 lambda

    //方法二:
    //.Select(t => t.posType)-- 查询列表里所有的posType属性
    //.GroupBy(c => c).Select(c => c.First())-- 去重,获取分组的第一条
    List listPosType= magList.Select(t => t.posType).GroupBy(c => c).Select(c => c.First()).ToList();
然后可按照自己需求取值:
var minValue = listPosType.Min();
获取最小(最大)值也可以直接一步到位:
var minValue2 = magList.Min(t => t.posType);

C#中List集合的排序方法有 Where ,AsParallel().Where,GroupBy和ToLookup。

C# List查找:

Contains(T) 确定某元素是否在 List 中。
Equals(Object) 确定指定的对象是否等于当前对象。(继承自 Object)
Exists(Predicate) 确定 List 是否包含与指定谓词定义的条件匹配的元素。
Find(Predicate) 搜索与指定谓词所定义的条件相匹配的元素,并返回整个 List 中的第一个匹配元素。
FindAll(Predicate) 检索与指定谓词定义的条件匹配的所有元素。
FindIndex(Predicate)    搜索与指定谓词所定义的条件相匹配的元素,并返回整个 List 中第一个匹配元素的从零开始的索引。
FindLast(Predicate)    搜索与指定谓词所定义的条件相匹配的元素,并返回整个 List 中的最后一个匹配元素。
使用方式同FindIndex
IndexOf(T)    搜索指定的对象,并返回整个 List 中第一个匹配项的从零开始的索引
LastIndexOf(T)    搜索指定对象并返回整个 List 中最后一个匹配项的从零开始索引。

你可能感兴趣的:(C#,lambda,c#,list,sql)