我们可以创建一个包含三个具有不同数量值的列表的列表吗?

时间:2021-02-24 15:02:50

标签: c# asp.net linq

我一直在研究一种创建包含多个 int 和 string 列表的 List 的方法,例如: 父列表将包含子列表,每个子列表包含两个项目(ID 和名称),它们的数量不必相等(这就是我不能使用元组的原因 示例: 父列表子列表一个 ID = 多个 姓名 = 1 添加我们所做的值:

parentList.childListOne.ID.ADD(something) 
parentList.childListOne.Name.ADD(something) 

如果有更好的方法来实现这一点,我们将不胜感激。 我明白这个问题的措辞并不多,但这是据我所知。

1 个答案:

答案 0 :(得分:0)

<块引用>

这就是我不能使用元组的原因

当然可以:

(string Name, int Id) tuple = ("John", 1);

var listOfTuples = new List<(string, int)>();

listOfTuples.Add(tuple);

var listOf_listOfTuples = new List<List<(string, int)>>();

listOf_listOfTuples.Add(listOfTuples);

//add another person to the first list 
listOf_listOfTuples[0].Add(("Mary", 2));

//add another list of tuples
listOf_listOfTuples.Add(new List<(string, int)>());

//add 3 people to the second list of tuples
listOf_listOfTuples[1].Add(("Joe", 3));
listOf_listOfTuples[1].Add(("Jake", 4));
listOf_listOfTuples[1].Add(("Jack", 3));

但是您不能像以前那样访问它们,因为在使用集合时它是不合法的 c#;您必须按编号索引列表,而不是名称。如果您想要命名属性访问,则必须从 List 派生并添加属性