gpt4 book ai didi

c# - 有条件地更新数据表中数据的最快方法是什么?

转载 作者:行者123 更新时间:2023-12-04 00:42:22 27 4
gpt4 key购买 nike

我有一个充满数据的数据表,有 3 列 - col1col2col3

col3 中的值大于 1000 或小于 - 时,我必须更新 col3 中的数据(将其设置为 null) 1000。我试着遍历每一行并检查这个条件,但它太慢了。如何提高速度?

最佳答案

假设列的类型是int,可以使用Linq:

var rowsToUpdate = data.AsEnumerable()
.Where(r => r.Field<int?>("col3") > 1000 || r.Field<int?>("col3") < -1000);
foreach( DataRow row in rowsToUpdate )
row.SetField<int?>("col3", null);

字段方法支持可空类型,SetField 方法允许使用 null

一点微优化,只是因为你提到它太慢了:

var rowsToUpdate = data.AsEnumerable()
.Where(r => {
var val = r.Field<int?>("col3") ?? 0;
return val > 1000 || val < -1000;
});

关于c# - 有条件地更新数据表中数据的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17549586/

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