gpt4 book ai didi

c# - 需要 Linq 表达式从对象字典(包含列表)创建字符串列表

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

需要 linq 表达式从所有字典条目的值的 Iternary.Name 中获取不同 Iternary.Name 的列表。

对象格式如下:

public class IternaryInfo
{
public string Name { get; set; }
public Iternary[] IternaryList { get; set; }
}

public class Iternary
{
public string Name { get; set; }
}

Dictionary<String, IternaryInfo> dictionary = new Dictionary<String, IternaryInfo>();

这是在一个表达式中还是必须使用循环。

尝试过 - dictionary.Select(x=>x.Value.IternaryList).ToList(),但不确定如何从 Iternary 中选择 -Name 字段。

最佳答案

你需要:

  • 使用 SelectMany 展平列表然后
  • 使用 SelectIternary 投影到它们的 Name然后
  • 使用 Distinct只获取不同的值

    var result = dictionary.Values
    .SelectMany(v => v.IternaryList)
    .Select(i => i.Name)
    .Distinct().ToList();

关于c# - 需要 Linq 表达式从对象字典(包含列表)创建字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42955203/

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