为了账号安全,请及时绑定邮箱和手机立即绑定

比较列表 c 中两个元素的属性#

比较列表 c 中两个元素的属性#

C#
开心每一天1111 2022-08-20 16:00:05
我有一个列表 :List<NXRoute> NXRouteList = new List<NXRoute>();在此列表中,每个“NXRoute”都有一个属性:DestinationSignal(它是一个字符串)Path它表示一个列表 (List<Path> pathList = new List<Path>();)我想根据属性比较元素,所以:NXRouteListDestinationSignal如果找到两个具有相同值的元素DestinationSignal==>在删除重复元素之前,我想将其列表中的元素添加到另一个元素(具有相同元素的那个)的列表中PathPathDestinationSignal作为c#编程的新手,我真的不知道如何实现它
查看完整描述

2 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

也许这段代码可以帮助你。此方法将创建在目标信号上没有重复项的 NXRoutes 的新列表。调用 。SelectMany 方法将重复目标信号值的所有路径聚合到 1 条新的 NXRoute 记录中。


public List<NXRoute> GetAllNXRoutesWithoutDuplicates(List<NXRoute> list)

{

    var nxRoutesWithSameDestinationSignals = list.GroupBy(x => x.DestinationSignal);

    return nxRoutesWithSameDestinationSignals.Select(group => new NXRoute

    {

        DestinationSignal = group.Key,

        Path = group.SelectMany(x => x.Path).ToList()

    }).ToList();

}


查看完整回答
反对 回复 2022-08-20
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

我将实现 IComparable for .您可以实现检查两个实例的属性是否相等。NXRouteListCompareToDestinationSignal



查看完整回答
反对 回复 2022-08-20
  • 2 回答
  • 0 关注
  • 130 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号