[開發] LINQ最基礎教學 (補充)

作者: hoyunxian (WildDagger)   2014-06-16 13:28:24
這篇文章是關於上次那篇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
作者: hungys (hungys)   2014-06-16 13:49:00
我都用FirstOrDefault()...lol

Links booklink

Contact Us: admin [ a t ] ucptt.com