看板 C_Sharp 關於我們 聯絡資訊
請問,若我想要修正某個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中,某個屬性而已 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.183.137.203 (泰國) ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1586063984.A.10C.html
ian90911: 直接下sql 04/05 13:22
CloudyWing: 你這樣寫,如果不會報錯,就表示他會幫你轉成SQL 04/05 14:18
CloudyWing: 除非你的DataBase是IEnumerable而不是IQueryable 04/05 14:18
CloudyWing: 如果DataBase是IQueryable,這段程式後面要加ToList() 04/05 14:20
wind681201: 我的例子舉的不好,我用的是object跟資料庫沒關係 04/05 15:19
wind681201: 我只是想在list中修改某個屬性,其它屬性不變 04/05 15:21
CloudyWing: 十萬次是跑不定最多是讓他在列舉時跑十萬次或是改用 04/05 15:38
CloudyWing: 非同步集合,用非同步跑那十萬次 04/05 15:38
wind681201: 非同步集合?請問是什麼? 04/05 18:02
okok24: 修改屬性用linq的.ForEach就好 04/05 18:45
t64141: 加一個屬性 int id2 {get { return id + 2003 }} 04/05 22:42
t64141: 使得 id2在讀取時再運算,但是如果你需要多次巡覽 list 04/05 22:44
t64141: 所有成員,就不適合 04/05 22:44
vi000246: 直接改db的值吧 不然就在下sql時就先加好 04/06 10:47
wind681201: 謝謝各位 04/06 19:55
jinmin88: SQL > UpdateRange >>>>>> FoorLoop Update 04/09 17:01
Litfal: 這種複雜度10萬次根本小case 04/10 14:31
APTON: 不放心的話,可以利用LINQPAD幫你轉成SQL看看阿 05/25 15:41