每个键包含多个值的列表

本文关键字:列表 包含多 | 更新日期: 2023-09-27 18:20:17

我们如何创建一个具有多个值的列表?例如,list[0]包含三个值{"12"、"String"、"someValue"}Some值与其他两个值相关联,我想使用列表而不是数组

string[, ,] read = new string[3, 3, 3];

每个键包含多个值的列表

为什么不拥有TupleList?它可能不清楚,但它会做你想要的:

var list = new List<Tuple<string, string, string>>();
list.Add(new Tuple<string, string, string>("12", "something", "something"));

尽管赋予这些值语义可能会更好。如果您让我们知道打算显示的值是什么,那么我们可以就如何使其更具可读性给出一些想法。

使用列表列表:

List<List<string>> read;

或者,如果您想要键多值关系,请使用列表字典:

Dictionary<string, List<string>> read;

使用Lookup<TKey,TElement>怎么样?

来自MSDN:

查找类似于字典。这个不同之处在于字典将关键字映射到单个值,而Lookup将键映射到价值观

您可以使用Tuple:

List<Tuple<String, String, String>> listOfTuples = new List<Tuple<String, String, String>>();
listOfTuples.Add(new Tuple<String, String, String>("12", "String", "someValue"));

MSDN:

http://msdn.microsoft.com/en-us/library/dd383822.aspx

或者您可以创建一个单独的类,其中包含所有值。让我们把这个类称为实体:

class Entity{int i; String s; Object SomeValue;}然后只做

List<Entity> list=new List<Entity>()

或者,您可以使用矩阵。