方法一 lambda+ Distinct()
//方法一:
//.Select(t => t.posType)-- 查询列表里所有的posType属性
//.Distinct()--值类型List去重
//.ToList()--转换为 List<int> 类型
List<int> listPosType = magList.Select(t => t.posType).Distinct().ToList();
方法二 lambda
//方法二:
//.Select(t => t.posType)-- 查询列表里所有的posType属性
//.GroupBy(c => c).Select(c => c.First())-- 去重,获取分组的第一条
List<int> 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<T> 中。
Equals(Object) 确定指定的对象是否等于当前对象。(继承自 Object)
Exists(Predicate<T>) 确定 List<T> 是否包含与指定谓词定义的条件匹配的元素。
Find(Predicate<T>) 搜索与指定谓词所定义的条件相匹配的元素,并返回整个 List<T> 中的第一个匹配元素。
FindAll(Predicate<T>) 检索与指定谓词定义的条件匹配的所有元素。
FindIndex(Predicate<T>) 搜索与指定谓词所定义的条件相匹配的元素,并返回整个 List<T> 中第一个匹配元素的从零开始的索引。
FindLast(Predicate<T>) 搜索与指定谓词所定义的条件相匹配的元素,并返回整个 List<T> 中的最后一个匹配元素。 使用方式同FindIndex
IndexOf(T) 搜索指定的对象,并返回整个 List<T> 中第一个匹配项的从零开始的索引
LastIndexOf(T) 搜索指定对象并返回整个 List<T> 中最后一个匹配项的从零开始索引。