【发布时间】:2018-02-16 09:29:10
【问题描述】:
我有一个字符串数组,我想使用 Linq 将其转换为 Dictionary。
我希望具有 偶数索引(包括零)的元素是 键,而元素具有 奇数索引 成为字典中的值。我使用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"} }
现在我很好奇如何使用 LINQ ToDictionary():
myDict = arr.ToDictionary();
【问题讨论】:
-
你检查
ToDictionary的语法了吗?您需要先组合名称和字母。之后就很简单了 -
简单的答案是你不能。您必须创建一个对象或类似
{ Name = "John", Something = "A" }的东西,然后在这些元素的数组上使用ToDictionary(),例如:arr.ToDictionary(a => a.Name, a => a.Something);
标签: c# arrays linq dictionary