Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用字典将一个字符串列表中的键映射到另一个字符串列表中的值?_C#_String_List_Dictionary - Fatal编程技术网

C# 如何使用字典将一个字符串列表中的键映射到另一个字符串列表中的值?

C# 如何使用字典将一个字符串列表中的键映射到另一个字符串列表中的值?,c#,string,list,dictionary,C#,String,List,Dictionary,我有两个字符串列表;我的水果和颜色 myFruits的格式如下: ["Apple", "Banana", "Guava", "Blueberry"] //key ["Red", "Yellow", "Green", "Blue"] //value myColors的格式如下: ["Apple", "Banana", "Guava", "Blueberry"] //key ["Red", "Yellow", "Green", "Blue"] //value 我希望能够使用字典和 在

我有两个字符串列表;我的水果和颜色

myFruits的格式如下:

 ["Apple", "Banana", "Guava", "Blueberry"] //key
["Red", "Yellow", "Green", "Blue"]  //value
myColors的格式如下:

 ["Apple", "Banana", "Guava", "Blueberry"] //key
["Red", "Yellow", "Green", "Blue"]  //value
我希望能够使用字典和 在我的输出中类似于以下内容

Apple:Red
Banana:Yellow
Guava:Green
Blueberry:Blue
我尝试在我的代码中使用zip,但我正在做的事情不正确,因为它没有正确地打印代码

var dic = myFruits.Zip(myColors, (k, v) => new { k, v }).ToDictionary(x => x.k, x => x.v); 

我怎样才能达到预期的输出?这只是一个示例,我可以在每次运行时在列表上有多个值,但无论数量是多少,两个列表上的项目数始终相等。非常感谢您的帮助。

不使用LINQ扩展是否有问题

var myFruits = new [] {"Apple", "Banana"};
var myColors = new [] {"Red", "Yellow"};
var mapping = new Dictionary<string, string>();

for(var i = 0; i < myFruits.Count(); i++)
{
  mapping.Add(myFruits[i], myColors[i]);
}
var myFruits=new[]{“苹果”、“香蕉”};
var myColors=new[]{“红色”、“黄色”};
var-mapping=newdictionary();
对于(var i=0;i
这看起来更像是输出问题。请参阅下面的代码以生成
字符串

var myFruits = new []{"Apple", "Banana", "Guava", "Blueberry"};
var myColors = new []{"Red", "Yellow", "Green", "Blue"};

var dic = myFruits.Zip(myColors, (k, v) => new { k, v }).ToDictionary(x => x.k, x => x.v);

foreach(var kvp in dic)
{
    Console.WriteLine($"{kvp.Key}:{kvp.Value}");
}
产出:

Apple:Red
Banana:Yellow
Guava:Green
Blueberry:Blue

你是如何打印的,它显示了什么?你使用的
Zip
看起来不错。对我来说很有效。我没有正确打印。它现在可以正常工作了。谢谢这确实是一个产出问题。我没有正确地打印出来。现在工作正常。谢谢太过时了!(与Linq
Zip
way相比,可读性也太强了)。Linq很棒,但它是公认的
vardic=myFruits.Zip(myColors,(k,v)=>new{k,v}).ToDictionary(x=>x.k,x=>x.v)优于您的3行代码?我不这么认为