首页 > 解决方案 > 两个数组合为一个字典 C#

问题描述

我想创建一个

Dictionary<string, int[]> dict

出两个数组(不同的长度):

string[] keys = { "A", "B", "A", "D", "C","E" };
string[] values = { green, blue, yellow};

结果:

["A"] = {green} 
["B"] = {blue}
["D"] = {yellow}
["C"] = {green}
["E"] = {blue}

标签: c#arraysdictionary

解决方案


在这种情况下,您的字典将是Dictionary<string,string>. 从您的示例中,您似乎希望值数组的模数 (%) 运算符来处理数组长度差异。

var dict = new Dictionary<string,string>();
for(int i = 0; i < keys.Length; i++) { 
   var j = i % values.Length; 
   dict[keys[i]] = values[j];
}

推荐阅读