【问题标题】:how to get direct value from a list that contain an array in C#如何从包含 C# 中的数组的列表中获取直接值
【发布时间】:2012-12-16 22:08:38
【问题描述】:

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

大家好, 我想直接从包含数组的列表中获取某个值

 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] 这样的表达式来检索这个单个数据以获取整数列表

谢谢..

【问题讨论】:

  • int v = myList[0][0];

标签: c# arrays list get


【解决方案1】:

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

int value = myList[listIndex][arrayIndex];

实际上这只是在做:

int[] array = myList[listIndex];
int value = array[arrayIndex];

【讨论】:

  • 确实 - 我更关心这个问题是否好。 (在这种情况下,问题不清楚以及,但是...)
【解决方案2】:

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

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

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

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

    public int this[int index]
    {
        get
        {
            return myList[index][0];
        }
        set
        {
            myList[index][0] = value;
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-29
    • 2021-11-06
    • 1970-01-01
    • 2015-08-30
    • 2017-03-15
    • 2022-01-22
    相关资源
    最近更新 更多