在 C# 中使用数组填充字典<K, V> 的键和值

Cic*_*ami 3 c# dictionary variable-assignment

我有两个大小相同的数组,arrayKeysarrayValues分别填充了数据(分别用于键和值),以及一个空Dictionary<K, V>myDictionary)。我想将每个数组中的元素分配为字典的键和值。我知道这可以通过使用以下代码来完成:

for(i=0:i<arrayKeys.Lenght;i++)
{
   myDictionary.Add(arrayKeys[i], arrayValue[i]);
}
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有任何方法可以执行如下任务:

myDictionary.Keys = arrayKeys;
myDictionary.Values = arrayValues;
Run Code Online (Sandbox Code Playgroud)

也许可以通过将 lambda 表达式与 ToDictionary 方法一起使用。提前致谢

弗朗西斯科

SLa*_*aks 5

你可以写

myDictionary = keys.Zip(values, (k, v) => new { k, v })
                   .ToDictionary(o => o.k, o => o.v);
Run Code Online (Sandbox Code Playgroud)