首页 > 解决方案 > 如何在列表List中使用两种类型

问题描述

我们可以List <T> 在类类型中使用两个不同类型的参数还是再添加一个参数?

例如:

public class ClassA
{
 public int a {get;set;}
 public int b {get;set;}
}

我需要列表中的更多属性而不编辑 ClassA

public string c {get;set;}

public List<ClassA, c> list = new List<ClassA, c>

我应该能够访问列表中的 c

item[0].a
item[0].b
item[0].c

标签: c#generics

解决方案


如果您使用的是最新的 C# 版本,则可以使用元组:

public List<(ClassA, string)> list = new List<(ClassA, string)>

您也可以为它们命名

public List<(ClassA a, string c)> list = new List<(ClassA a, string c)>

但是您不能直接访问 ClassA 中的任何内容,您必须使用第一个对象的名称。


推荐阅读