C# 是否可以在数组列表的for each循环中指定列?C

C# 是否可以在数组列表的for each循环中指定列?C,c#,arraylist,foreach,C#,Arraylist,Foreach,我有一个包含两列的数组列表。我还有一个foreach循环。我可以只指定循环列1吗?任何帮助或建议都将不胜感激。多谢各位 foreach (object[] row in myArrayList) { foreach (object column in row) //I want to specify just the first column here {} } C中没有行或列这样的概念。您似乎有一个嵌套数组的情况,即您有一个行数组,其中每一行本身就是一个数组: var my

我有一个包含两列的数组列表。我还有一个foreach循环。我可以只指定循环列1吗?任何帮助或建议都将不胜感激。多谢各位

foreach (object[] row in myArrayList)
 {
   foreach (object column in row) //I want to specify just the first column here
    {}
 }

C中没有行或列这样的概念。您似乎有一个嵌套数组的情况,即您有一个行数组,其中每一行本身就是一个数组:

var myArrayList = new[] { new[] { obj1, obj2 }, new[] { obj3, obj4 } }
因此,如果我答对了您的问题,您希望提取obj1和obj3,例如,这将是myArrayList的第一列。您不能提取列,但可以使用LINQ Select将数组元素行转换为任何您喜欢的内容:

然后您可以对其进行迭代:

foreach (object cell in firstColumn)
{ ... }

顺便说一句:您的变量名myArrayList可能意味着您使用的是ArrayList而不是数组。这并没有什么区别:数组和C中的各种集合都实现IEnumerable,这是使用LINQ和foreach的唯一先决条件。

C中没有行或列这样的概念。您似乎有一个嵌套数组的情况,即您有一个行数组,其中,每行本身就是一个数组:

var myArrayList = new[] { new[] { obj1, obj2 }, new[] { obj3, obj4 } }
因此,如果我答对了您的问题,您希望提取obj1和obj3,例如,这将是myArrayList的第一列。您不能提取列,但可以使用LINQ Select将数组元素行转换为任何您喜欢的内容:

然后您可以对其进行迭代:

foreach (object cell in firstColumn)
{ ... }

顺便说一句:您的变量名myArrayList可能意味着您使用的是ArrayList而不是数组。这并没有真正的区别:C中的数组和各种集合都实现IEnumerable,这是使用LINQ和foreach的唯一先决条件。

下面的代码就可以了

 foreach (object[] row in myArrayList)
 {
   object column =  row[0]
   //Do what ever you want to do with column
 }

下面的代码就可以了

 foreach (object[] row in myArrayList)
 {
   object column =  row[0]
   //Do what ever you want to do with column
 }

行[0]怎么样?行是一个列的数组,您究竟在使用ArrayList吗?使用类型安全集合。考虑为你的表创建一个类而不是处理随机对象显示关于行(0)?行是一个数组,为什么在地球上你仍然使用ARARYLIST?使用类型安全集合。考虑为您的表创建一个类,而不是处理随机对象。我最好用两个单独的数组吗?每人一个column@user,这不是一般的说法。这取决于您主要使用数据做什么。如果您的大多数关键访问都是基于列的,那么可能是肯定的。但这会对其他决策产生影响,例如,如果数据来自数据库,是否使用基于列的数据库。使用两个单独的数组是否会更好?每人一个column@user,这不是一般的说法。这取决于您主要使用数据做什么。如果您的大多数关键访问都是基于列的,那么可能是肯定的。但这会对其他决策产生影响,例如,如果数据来自数据库,是否使用基于列的数据库。