You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用LINQ替代ForEach将Pair对象的Guid属性转为列表?

解决方案

当然有,可以用LINQ的SelectMany方法来替代,它能把每个Pair对象拆分成包含两个Guid的序列,再将所有序列合并成一个完整的集合,写法更简洁且符合LINQ的声明式风格:

var ids = payload.Pairs
    .SelectMany(x => new[] { x.FirstId, x.SecondId })
    .ToList();

说明

  • SelectMany会遍历payload.Pairs中的每个Pair对象,将每个对象转换为一个包含FirstId和SecondId的Guid数组。
  • 最终所有数组中的元素会被扁平化为一个单一的序列,最后调用ToList()直接得到List<Guid>,不需要手动初始化列表再逐个Add元素。
  • 原代码里的.ToList()在调用ForEach前是多余的(只要payload.Pairs实现了IEnumerable<Pair>接口),用SelectMany的写法可以完全省去这一步。

内容的提问来源于stack exchange,提问作者DarkLeafyGreen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 09:25:13