【发布时间】:2014-06-30 20:10:06
【问题描述】:
长话短说,我想要实现的是将Dictionary<string, string>[] 转换为List<string[]>。我不介意丢失字典的关键信息。
我想出的解决方案是有效的,但我很确定有一种更好的方法可以使用 LINQ 和 Lambda 表达式完成相同的结果。
我特别讨厌需要为计数使用附加变量的部分,但据我所知,不可能通过 for 循环来循环 Dictionary<string, string>
提前致谢。
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);
}
【问题讨论】:
标签: c# linq list dictionary lambda