gpt4 book ai didi

C# - Lambda/LINQ - 从 Dictionary[] 到 List 的转换

转载 作者:行者123 更新时间:2023-11-30 19:01:36 25 4
gpt4 key购买 nike

长话短说,我想要实现的是转换 Dictionary<string, string>[]List<string[]> .我不介意丢失字典的关键信息。

我想出的解决方案是有效的,但我很确定有一种更好的方法可以使用 LINQ 和 Lambda 表达式实现相同的结果。

我特别讨厌需要使用额外变量进行计数的部分,但据我所知,不可能遍历 Dictionary<string, string>for循环

提前致谢。

 Dictionary<string, string>[] arrayOfStringDictionaries = new Dictionary<string, string>[2]
{
new Dictionary<string, string>(),
new Dictionary<string, string>()
};

arrayOfStringDictionaries[0].Add("1", "Test1");
arrayOfStringDictionaries[0].Add("2", "Test2");
arrayOfStringDictionaries[0].Add("3", "Test3");

arrayOfStringDictionaries[1].Add("1", "Test4");
arrayOfStringDictionaries[1].Add("2", "Test5");
arrayOfStringDictionaries[1].Add("3", "Test6");

List<string[]> listofStringArrays = new List<string[]>();

foreach (Dictionary<string, string> singledic in arrayOfStringDictionaries)
{
int count = 0;
string[] stringArray = new string[singledic.Keys.Count];
foreach (var key in singledic.Keys)
{
stringArray[count] = singledic[key];
count++;
}

listofStringArrays.Add(stringArray);
}

最佳答案

所以您只需要这些值?

arrayOfStringDictionaries.Select(dict => dict.Values.ToArray()).ToList();

这基本上意味着什么:

  • 对于数组中的每个字典,获取它的所有值,并将它们组成一个数组

  • 获取所有这些数组,并将它们放入一个列表中

关于C# - Lambda/LINQ - 从 Dictionary<string, string>[] 到 List<string[]> 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24498191/

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