猿问

将 double[] 值快速复制到数据表中的整个列中

我有一个关于double[]在 C# 中将数组值 ( ) 分配到 DataTable 中的列的问题。我double[]从我的 DataTable 中的一列派生,如下所示。

double[] ToBeChanged = mydatatable.AsEnumerable().Select(s => s.Field<double>("column")).ToArray<double>();

更新了一些值后ToBeChanged,我想快速恢复到原来的列。我怎样才能尽可能简单或快速地实施它?


慕妹3242003
浏览 95回答 1
1回答

收到一只叮咚

一种方法是使用.Zip方法var pairs = mydatatable.AsEnumerble().Zip(toBeChanged, (row, value) => (row, value));foreach (var (row, value) in pairs){&nbsp; &nbsp; row.SetField("column", value);}但我不建议将它用于生产代码,因为正确性将完全取决于行和值正确排序的假设。其他可能的方法可能是:更新DataTable.将实例传递DataRow给将更新值的方法使用字典将可更新值与行标识值相关联。
随时随地看视频慕课网APP
我要回答