gpt4 book ai didi

c# - 如何在另一种类型的列表列表中选择所有不同的字符串?

转载 作者:太空宇宙 更新时间:2023-11-03 18:58:17 24 4
gpt4 key购买 nike

我对 LINQ 还是很陌生。我有以下“简化”的数据结构:

List<List<Field>> myData = new List<List<Field>>();

Field由两个字符串成员组成,TypeName .

我的目标是获得 List<string>包含所有不同的 Name对应于给定的 Type .我的第一种方法是:

var test = myData
.Where(a => a.FindAll(b => b.Type.Equals("testType"))
.Select(c => c.Name)
.Distinct());

有人给我提示吗? =)

最佳答案

您只需要使用SelectMany 来展平您的列表列表,然后照常进行

var test = myData.SelectMany(x => x)
.Where(x => x.Type == "testType")
.Select(x => x.Name)
.Distinct()
.ToList();

或在查询语法中

var test = (from subList in myData
from item in subList
where item.Type == "testType"
select item.Name).Distinct().ToList();

关于c# - 如何在另一种类型的列表列表中选择所有不同的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40513740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com