我对在C#中将数组值(double[]
)分配到DataTable中的列有疑问。我从DataTable中的一列派生double[]
,如下所示。
double[] ToBeChanged = mydatatable.AsEnumerable().Select(s => s.Field<double>("column")).ToArray<double>();
在更新ToBeChanged
中的某些值之后,我想将其快速返回到原始列。如何才能尽可能简单或快速地实现它?
答案 0 :(得分:0)
一种方法是使用.Zip
方法
var pairs = mydatatable.AsEnumerble().Zip(toBeChanged, (row, value) => (row, value));
foreach (var (row, value) in pairs)
{
row.SetField("column", value);
}
但是我不建议将其用于生产代码,因为正确性完全取决于行和值正确排序的假设。
其他可能的方法可能是:
DataTable
中的值。 DataRow
实例传递给将更新值的方法