Han*_*lse 2 c# linq lambda dictionary list
长话短说,我想要实现的是将a转换Dictionary<string, string>[]
为a 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);
}
Run Code Online (Sandbox Code Playgroud)
Luc*_*ski 13
所有你想要的是价值观?
arrayOfStringDictionaries.Select(dict => dict.Values.ToArray()).ToList();
Run Code Online (Sandbox Code Playgroud)
这基本上意味着什么:
对于数组中的每个字典,获取其所有值,并生成它们的数组
获取所有这些数组,并将它们放入列表中
归档时间: |
|
查看次数: |
1127 次 |
最近记录: |