【问题标题】:Convert List<List<string>> to List<string> [duplicate]将 List<List<string>> 转换为 List<string> [重复]
【发布时间】:2011-07-07 11:46:32
【问题描述】:

可能重复:
Linq: List of lists to a long list

我已使用 LINQ 将其转换。
List&lt;List&lt;string&gt;&gt;List&lt;string&gt;.
如果叶子重叠一个。必须在一行中。

【问题讨论】:

  • 你能举个例子吗?我不确定我是否了解您的需求。
  • “如果叶子重叠”你是什么意思?您是想简单地展平列表,还是只想要不同的元素,或完全不同的东西?
  • SelectMany 正是我想要的。谢谢大家。
  • 当我以不同的方式输入时,我发现甚至不是这样。 stackoverflow.com/questions/462879/…我为重复的问题道歉

标签: c# linq


【解决方案1】:
input.SelectMany(l => l).Distinct().ToList();

【讨论】:

  • 这正是我想要的。谢谢。
【解决方案2】:

你的问题有点不明确。

input.SelectMany(list=>list).ToList()

这会将属于任何列表的所有字符串放入结果列表中。如果您只需要独特的元素,请在 SelectManyToList 之间添加 .Distinct

【讨论】:

    【解决方案3】:
    List<List<string>> listOfLists = new List<List<string>>();
    List<string> flattenedList = ListOfLists.SelectMany(x => x).ToList();
    

    【讨论】:

      猜你喜欢
      • 2021-09-17
      • 1970-01-01
      • 1970-01-01
      • 2021-02-28
      • 1970-01-01
      • 2021-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多