首页 > 解决方案 > 使用元组 C# 循环列表

问题描述

我在 C# 中有一个名为的列表MyList

List<Tuple<string, int, int>> MyList= new List<Tuple<string, int, int>>() 
        {
           Tuple.Create("Cars", 22, 3),
           Tuple.Create("Cars", 28, 5),
           Tuple.Create("Planes", 33, 6)
        };

我想以与我在上面填写的顺序相同的顺序遍历整个列表,并能够为每个列表项一一获取值,例如Cars, 22, 3. 我怎么做?我想我必须以ForEach某种方式使用。

标签: c#.netlisttuples

解决方案


您可以为此使用简单foreach的循环Item1Item2Item3表示具有相应类型的未命名元组项

foreach (var item in MyList)
{
    string name = item.Item1;
    int value = item.Item2;
    int something = item.Item3;
}

您还可以切换到C# 7 中提供的命名元组。它们更具可读性,并允许为元组项定义自定义名称并使用解构

var MyList = new List<(string name, int value, int someting)>()
{
    ("Cars", 22, 3),
    ("Cars", 28, 5),
    ("Planes", 33, 6)
};

foreach (var item in MyList)
{
    var name = item.name;
    var value = item.value;
}

推荐阅读