【发布时间】:2014-10-16 12:47:06
【问题描述】:
我是 C# 新手,在任何地方都找不到这样的示例(尽管我见过类似的示例,但转换的是 ToString,而在我的情况下,我想要整数数组)。我有一个 DataTable 对象,
DataTable results = dbCon.ExecuteQuery("my query");
int m = results.Rows.Count;
int n = results.Columns.Count;
我想要一个由 n 个一维数组组成的锯齿状数组(每个数组都是 DataTable 的一列(在本例中为results)。
int[][] jagged = new int[n][];
for (int i = 0; i < n; i++)
{
jagged[i] = new int[m];
//var coli = results.Columns.Cast<Array>().Select(column => Convert.ToInt32(column)).ToArray();
//jagged[i] = coli;
}
我已经尝试了一些事情(例如我注释掉的内容),但我现在很卡住。
如果有人知道如何做到这一点,请发布一些东西!谢谢!
另外,更具体地说,我真的很想使用一个像 NumPy 提供给 Python 的函数...dataSet = np.array(dataList).astype('float')。双 for 循环不符合我的最大利益,因为我的 DataTable 很大。
【问题讨论】:
-
每一行有不同的列数吗?还是要将列的内容变成整数数组?
-
我有 n 列,每列有 m 行。基本上我只想要一个矩阵。但是我读了一篇关于性能的文章,并说锯齿状数组最适合矩阵乘法。 heatonresearch.com/content/…
标签: c# numpy datatable jagged-arrays