Sla*_*jic 4 c# linq arrays dictionary
我有一个字符串数组,我想Dictionary使用Linq将其转换为 a 。我想和一个元件偶数索引(包括零)是键与和元件奇数索引是值在字典中。我使用以下方法创建了一个字典for loop:
string[] arr = new string[4];
arr[0] = "John";
arr[1] = "A";
arr[2] = "Luke";
arr[3] = "B";
Dictionary<string, string> myDict = new Dictionary<string, string>();
for (int i = 0; i < arr.Length - 1; i += 2)
{
myDict.Add(arr[i], arr[i + 1]);
}
//myDict -> { { "John", "A" },{"Luke","B"} }
Run Code Online (Sandbox Code Playgroud)
现在我很好奇如何用LINQ 做到这一点ToDictionary():
myDict = arr.ToDictionary();
Run Code Online (Sandbox Code Playgroud)
你可以这样写(以防万一 Linq 的我们可以Enumerable.Range作为循环利用):
string[] arr = new string[] {
"John", "A",
"Luke", "B",
}
var myDict = Enumerable
.Range(0, arr.Length / 2)
.ToDictionary(i => arr[2 * i],
i => arr[2 * i + 1]);
Console.WriteLine(string.Join(Environment.NewLine, myDict));
Run Code Online (Sandbox Code Playgroud)
结果:
[John, A]
[Luke, B]
Run Code Online (Sandbox Code Playgroud)