C# 是否可以在数组列表的for each循环中指定列?C
我有一个包含两列的数组列表。我还有一个foreach循环。我可以只指定循环列1吗?任何帮助或建议都将不胜感激。多谢各位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 (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,这不是一般的说法。这取决于您主要使用数据做什么。如果您的大多数关键访问都是基于列的,那么可能是肯定的。但这会对其他决策产生影响,例如,如果数据来自数据库,是否使用基于列的数据库。