制作我们自己的List <string,string,string>

Hot*_*ter 8 .net c# list

我们可以List<string, string, string>在C#.NET中创建自己的吗?我需要在列表中创建一个包含3个不同字符串的列表作为单个元素.

Jon*_*eet 28

您当然可以List使用三个泛型类型参数创建自己的类.我强烈反对你不这样做.这会让使用你的代码的人感到困惑.

相反,要么使用List<Tuple<string, string, string>>(如果你正在使用.NET 4,或者)(最好)创建自己的类来以有意义的方式封装这三个字符串,然后使用List<YourNewClass>.

创建自己的类将使您在编写和阅读代码时更加清晰 - 通过为三个不同的字符串命名,每个人都会知道它们的意思.您还可以根据需要为课程提供更多行为.


Tig*_*ran 12

您可以使用元组来实现这一目标.

例如:

var list = new List<Tuple<string,string,string>>();
Run Code Online (Sandbox Code Playgroud)

迭代你可能想要做的一个简单的值:

    list.ForEach(x=>{
     //x is a Tuple
    });
Run Code Online (Sandbox Code Playgroud)

或者找到一些特定的tupple,你可能想要做以下事情:

     var list = new List<Tuple<string,string,string>>{
        new Tuple<string,string,string>("Hello", "Holla", "Ciao"),
        new Tuple<string,string,string>("Buy", "--", "Ciao")
     };

     list.Where(x=>x.Item2 == "--");
Run Code Online (Sandbox Code Playgroud)

这将返回最后一个元组.