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

1 篇文章 0 订阅

方法一 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> 中最后一个匹配项的从零开始索引。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值