请问,若我想要修正某个list中的属性如下
class a
{
int id{get;set;}
string name {get;set;}
}
然后我变成 List<a> d = from db in DataBase
selec {z=> new a{id = z + 1033, name =z.name}}
通常我是这样做,但这样,我有十万笔的话,是不是,还是会跑十万次?
有没有比较有效率的做法?
同一个类别,我只想修正某个属性而已。
这个例子可能不好,但重点是,我想修正list中,某个属性而已
作者:
ian90911 (xopowo)
2020-04-05 13:22:00直接下sql
你这样写,如果不会报错,就表示他会帮你转成SQL除非你的DataBase是IEnumerable而不是IQueryable如果DataBase是IQueryable,这段程式后面要加ToList()
我的例子举的不好,我用的是object跟数据库没关系我只是想在list中修改某个属性,其它属性不变
十万次是跑不定最多是让他在列举时跑十万次或是改用异步集合,用异步跑那十万次
作者:
okok24 (匿名人士)
2020-04-05 18:45:00修改属性用linq的.ForEach就好
作者: t64141 (榕树) 2020-04-05 22:42:00
加一个属性 int id2 {get { return id + 2003 }}使得 id2在读取时再运算,但是如果你需要多次巡览 list所有成员,就不适合
SQL > UpdateRange >>>>>> FoorLoop Update
作者:
Litfal (Litfal)
2020-04-10 14:31:00这种复杂度10万次根本小case
作者:
APTON (玮玮)
2020-05-25 15:41:00不放心的话,可以利用LINQPAD帮你转成SQL看看阿