如何在列表List中使用两种类型

问题描述 投票:0回答:3

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

例如:

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

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

public string c {get;set;}

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

我应该能够访问List中的c

item[0].a
item[0].b
item[0].c
c# generics
3个回答
7
投票

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

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

您也可以为它们命名

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

但你无法直接访问ClassA中的任何内容,你必须使用第一个对象的名称。


0
投票
Dictionary<String,ClassA> myDictionary= New Dictionary<String,ClassA>();

Foreach(var k in myDictionary.Keys)
Debug.WriteLine(myDictionary[k]);// accesses (Value) ClassA objects

-1
投票

感谢您的帮助,这是一个很好的帮助。但是在我的鳕鱼里我使用了新课:

public classB 
{
     public classA cA {get;set;}
     public str c {get;set;}
}

List<B>  i can access any data i need it. 
© www.soinside.com 2019 - 2024. All rights reserved.