📜  将元组列表转换为字典 c# (1)

📅  最后修改于: 2023-12-03 15:25:16.372000             🧑  作者: Mango

将元组列表转换为字典 c#

在C#中,我们可以使用Linq库中的ToDictionary()方法将元组列表转换为字典。

下面是一个示例代码:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        var tupleList = new List<(int, string)>()
        {
            (1, "apple"),
            (2, "banana"),
            (3, "orange")
        };

        var dictionary = tupleList.ToDictionary(t => t.Item1, t => t.Item2);

        foreach (var pair in dictionary)
        {
            Console.WriteLine($"{pair.Key} => {pair.Value}");
        }
    }
}

这个示例代码创建了一个包含三个元组的列表:每个元组都包含一个int类型的ID和一个string类型的名称。然后,我们使用ToDictionary()方法将列表转换为字典,并遍历字典中的键值对。

ToDictionary()方法接受两个lambda表达式作为参数。第一个lambda表达式指定字典中的键,第二个lambda表达式指定字典中的值。

此外,如果您需要更高级的元组转换,可以使用ValueTuple类。例如,如果您需要将元组列表转换为字典,并且元组包含三个元素,您可以使用以下代码:

var tupleList = new List<(int, string, double)>()
{
    (1, "apple", 0.5),
    (2, "banana", 0.7),
    (3, "orange", 0.6)
};

var dictionary = tupleList.ToDictionary(t => (t.Item1, t.Item2), t => t.Item3);

在这个示例中,我们使用ValueTuple类来创建一个包含三个元素的元组。然后,我们将元组的前两个元素作为字典中的键,将元组的第三个元素作为字典中的值。

以上就是将元组列表转换为字典的示例代码和说明。在实际应用中,您可以根据需要调整代码来进行自定义的元组转换。