列表,每个键有多个值

时间:2013-06-27 11:03:04

标签: c# .net list

我们如何创建具有多个值的列表,例如,list [0]包含三个值{“12”,“String”,“someValue”} Some值与我想要使用的另外两个值相关联列表而不是使用数组

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

5 个答案:

答案 0 :(得分:11)

为什么没有List Tuple?它可以不清楚,但它会做你想做的事情:

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

尽管赋予这些值语义含义可能更好。也许如果您让我们知道打算显示的值是什么,那么我们可以提供一些关于如何使其更具可读性的想法。

答案 1 :(得分:6)

使用列表清单:

List<List<string>> read;

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

Dictionary<string, List<string>> read;

答案 2 :(得分:2)

如何使用Lookup<TKey,TElement>

来自MSDN:

  

查找类似于词典。该   区别在于Dictionary将键映射到单个   值,而Lookup将键映射到集合   值。

答案 3 :(得分:1)

您可以使用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

答案 4 :(得分:0)

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

class Entity{int i; String s; Object SomeValue;}   然后就这样做

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

或者你可以使用矩阵。