我有两个带字符串值的数组和一个字典,我试图将array1中的值作为键添加,将array2中的值作为字典中的值添加.
在这种情况下,最佳做法是什么?我试过跟随
foreach(var i in array1)
{
foreach(var t in array2)
dictionary.add(i.value, t.value)
}
Run Code Online (Sandbox Code Playgroud)
那你可以做(在.NET 4中):
var dictionary = array1.Zip(array2, (key, value) => new { key, value })
.ToDictionary(pair => pair.key, pair => pair.value);
Run Code Online (Sandbox Code Playgroud)
这基本上将两个数组拉在一起,因此最终会得到一对数组.然后调用ToDictionary扩展方法,从每对中提取键和值.
或者,你可以用老式的方式做到这一点:
var dictionary = new Dictionary<string, string>();
for (int i = 0; i < array1.Length; i++)
{
dictionary[array1[i]] = array2[i]; // Or use Add
}
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,您都应该确保数组的长度相同.