我有一个关于double[]在 C# 中将数组值 ( ) 分配到 DataTable 中的列的问题。我double[]从我的 DataTable 中的一列派生,如下所示。double[] ToBeChanged = mydatatable.AsEnumerable().Select(s => s.Field<double>("column")).ToArray<double>();更新了一些值后ToBeChanged,我想快速恢复到原来的列。我怎样才能尽可能简单或快速地实施它?
1 回答
收到一只叮咚
TA贡献1821条经验 获得超4个赞
一种方法是使用.Zip方法
var pairs = mydatatable.AsEnumerble().Zip(toBeChanged, (row, value) => (row, value));
foreach (var (row, value) in pairs)
{
row.SetField("column", value);
}
但我不建议将它用于生产代码,因为正确性将完全取决于行和值正确排序的假设。
其他可能的方法可能是:
更新DataTable.
将实例传递DataRow给将更新值的方法
使用字典将可更新值与行标识值相关联。
- 1 回答
- 0 关注
- 94 浏览
添加回答
举报
0/150
提交
取消