我应该使用哪个系列?

时间:2012-11-17 14:43:41

标签: c# .net arrays list collections

我正在寻找在我目前的情况下使用的理想系列。

我需要的是List<string>,它可以为每个索引提供两个条目。与Dictionary类似,但我不需要键和值,并希望通过索引迭代它。我能想到的最好的集合是一个多维数组,但是我想指定每个元素中可以存储两个项目,但元素的数量可以是无限的。

我应该使用哪个系列?

编辑:另外,我想过使用List<List<string>>,但是由于每个索引只需要两个元素,我认为在列表的每个索引位置存储一个列表浪费。

4 个答案:

答案 0 :(得分:9)

您可以使用Tuple

请检查:Tuple (Class)

var population = new Tuple<string, string>("New York", "Madrid");

答案 1 :(得分:2)

尝试使用课程

public class MyData
{
    public string Data1 {get;set;}
    public string Data2 {get;set;}
}

var obj = List<MyData>();

答案 2 :(得分:0)

你也可以使用更简单的辅助方法使用元组

var population = Tuple.Create("New York", "Madrid")

答案 3 :(得分:0)

您也可以尝试使用锯齿状数组(数组数组):

 object[] row1 = new object[2]; // create a one dimensional array
 for (int i = 1; i < 2; i++)
 {
     row1[i] = "yourValues "+i; // push your values into the array
 }

 object[,] multi=new object[1,2];
            multi[0,0] = row1; // push the created array into 2dimensional array

for (int j = 0; j < ((object[])(multi[0, 0])).Length; j++)
                MessageBox.show(((object[])(row[0, 0]))[j]); // retrieve value from 

带索引的多维数组。

感谢。