每个键包含多个值的列表
本文关键字:列表 包含多 | 更新日期: 2023-09-27 18:20:17
我们如何创建一个具有多个值的列表?例如,list[0]包含三个值{"12"、"String"、"someValue"}Some值与其他两个值相关联,我想使用列表而不是数组
string[, ,] read = new string[3, 3, 3];
为什么不拥有Tuple
的List
?它可能不清楚,但它会做你想要的:
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>()
或者,您可以使用矩阵。