gpt4 book ai didi

c# - 将数据表转换为 double 组

转载 作者:太空狗 更新时间:2023-10-30 01:00:48 25 4
gpt4 key购买 nike

我有一个 DataTable 对象作为 SQL 读取的结果。典型示例包含 100 行和 16 列。我需要多次遍历表格以提取计算值(应用程序是机器学习梯度下降)。我试图加快计算速度,并避免每次使用时都强制转换从 DataTable 读取的值。有没有一种方法可以通过仅转换整个 DataTable 对象一次来创建新的二维索引数组,从而无需调用 Convert.ToDouble 1000x100x16=1,600,000 次。理想情况下,为了代码可读性,我想保留将数据引用为 ["colname",row]

目前的实现:

for(i=0;i<1000;i++)
foreach (DataRow row in dt.Rows)
calculation = Convert.ToDouble(row["col1"])....

最佳答案

使用:

using System;
using System.Linq;
using System.Data;
DataTable db = <some table>;
double[][] arrayOfDoubles = db.AsEnumerable().Select(x => new [] { Convert.ToDouble(x["SomeColumn"]), Convert.ToDouble(x["SomeColumn"]), ... }).ToArray();

不要忘记检查 DbNull

关于c# - 将数据表转换为 double 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43393754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com