推 hungys:我都用FirstOrDefault()...lol 06/16 13:49
這篇文章是關於上次那篇LINQ教學的補充
不知道LINQ的話請先去翻那篇出來(版主有m起來)
1. 不確定資料有沒有包含你所要資料的話請不要用First()
雖然上篇說傳回單筆資料的話,First()比Single()好
但是First()方法有個很不妙的問題
就是當你找不到東西的時候他不是傳回null而是直接拋出例外狀況
因此如果你不確定你能不能找到東西(比方說抓Opendata很難確定對方資料)的時候
還是先把指標物件建立好並確定結果不是0個
(用「x.Count() != 0」當判斷式,也可以直接用Any()),
再用First()方法把物件抓出來
通常中文字的狀況會是發生在同音錯字與同音別字上面
比方說環保署開放平台的台與臺就不統一,
如果你要整併兩個資料的時候沒注意到,跑到一半就會出錯了
(當然還有台北捷運那個一直不統一的票價系統......)
2. 請多善用Count() != 0或Any()的判斷式
上面也提到了,抓資料的時候如果有先用Count()判斷資料個數,
或者是Any()來判斷有沒有資料,不僅可以避免錯誤訊息,也可以讓程式跑的比較快
(判斷沒有資料就完全不會執行裡面的程式,可以少浪費些時間)
另外關於Count()與Any()的差別,請看小朱大的這篇文章
http://tinyurl.com/oghftve
--
要奉命結婚? 還是要尋找自己的幸福?
├────┤ ├────┤
├────┤
├────┤ ├────<═══
by kudo070125
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.103.228
※ 文章網址: http://www.ptt.cc/bbs/WindowsPhone/M.1402896508.A.DA1.html
※ 編輯: hoyunxian (59.115.103.228), 06/16/2014 13:29:00