0

如何从包含数组的列表中获取直接值?

嘿伙计们,我想直接从包含数组的列表中获取某个值

 List<int[]> myList = new List<int[]>();
 myList.Add( new int[2] { 10, 11 } );

我很清楚使用 foreach 循环来得到这个

foreach ( int[] p in mylist)
      console.write(p[0]);

我确实想使用像 list[0] 这样的表达式来检索这个单个数据以获取整数列表

谢谢..

4

2 回答 2

4

您的问题很不清楚,但是如果您知道数组中的数组索引,则可以使用:

int value = myList[listIndex][arrayIndex];

实际上,这只是在做:

int[] array = myList[listIndex];
int value = array[arrayIndex];
于 2012-12-16T22:11:13.587 回答
1

我不完全确定你的意思。. .

它看起来像一个二维数组:myList [列表中数组的位置] [选定数组中项目的位置]。这是因为列表是通用容器,重载的括号运算符将返回特定类型(在本例中为数组),然后您可以再次使用括号来引用数组中包含的项目。

您编写的代码片段实际上只迭代列表中的第一项 foreach 数组(这是故意的)?

本质上,您需要 2 条信息,除非您只想要每个列表中的第一项(位置 0),在这种情况下,您将创建一个新的容器类,实现 IList 接口并重载括号运算符,如下所示:

    public int this[int index]
    {
        get
        {
            return myList[index][0];
        }
        set
        {
            myList[index][0] = value;
        }
    }
于 2012-12-16T22:24:51.663 回答