【发布时间】:2011-02-03 12:06:15
【问题描述】:
我有一个任务需要将 DataTable 转换为二维数组。只需遍历行和列就很容易做到这一点(请参见下面的示例)。
private static string[,] ToArray(DataTable table)
{
var array = new string[table.Rows.Count,table.Columns.Count];
for (int i = 0; i < table.Rows.Count; ++i)
for (int j = 0; j < table.Columns.Count; ++j)
array[i, j] = table.Rows[i][j].ToString();
return array;
}
我真正想做的是在 LINQ 中使用 select 语句来生成二维数组。不幸的是,LINQ 中似乎无法选择多维数组。是的,我知道我可以使用 LINQ 来选择锯齿状数组,但这不是我想要的。
我的假设是否正确,或者有没有办法使用 LINQ 来选择多维数组?
【问题讨论】:
-
你能做一个数组数组吗? (转换会更快)
-
是的,我可以做一个锯齿状数组(数组的数组),但不幸的是,在这种情况下,这不是我调用的 api 所接受的。
标签: c# linq multidimensional-array