我有一个列表 :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();
}
哈士奇WWW
TA贡献1799条经验 获得超6个赞
- 2 回答
- 0 关注
- 130 浏览
添加回答
举报
0/150
提交
取消
