//linq查詢booklist集合中是否有該書
objbook = (booklist.where(b => b.barcode=(this.txtbarcode.text.trim()))).first();
錯誤:查不到書時會報錯,改下面的就正常了
//linq查詢booklist集合中是否有該書
objbook = (booklist.where(b => b.barcode=(this.txtbarcode.text.trim()))).firstordefault();
這裡以first、firstordefault進行說明,其他類似。
1、first:取序列中滿足條件的第乙個元素,如果沒有元素滿足條件,則丟擲異常
2、firstordefault:取序列中滿足條件的第乙個元素,如果沒有元素滿足條件,則返回預設值(對於可以為null的物件,預設值為null,對於不能為null的物件,如int,預設值為0)
first、firstordefault的區別在於:當沒有元素滿足條件時,乙個丟擲異常,乙個返回預設值。
因此,在使用時,一定要注意這個區別:
1、當確信序列中一定有滿足條件的元素時,使用first方法,取到元素後,無需判斷是否為null
2、當序列中可能找不到滿足條件的元素時,使用firstordefault方法,然後,一定要對返回值是否為null,進行不同的處理a
操作符如果源序列是空的
源序列只包含乙個元素
源序列包含多個元素
first
拋異常返回該元素
返回第乙個元素
firstordefault
返回default(tsource)
返回該元素
返回第乙個元素
last
拋異常返回該元素
返回最後乙個元素
lastordefault
返回default(tsource)
返回該元素
返回最後乙個元素
single
拋異常返回該元素
拋異常singleordefault
返回default(tsource)
返回該元素
拋異常
預設查詢方案,出錯解決方法
通過查詢框提供儲存預設查詢方案的功能,設定後下次執行時系統直接以預設條件查出記錄,不再彈出查詢框。有時該功能設定後會報錯,導致使用者無法再執行功能,也無法清除預設查詢方案,此時可以使用以下sql語句從資料庫直接刪除 刪除預設查詢方案 delete from t query querysolution...
LINQ 之 基本 LINQ 查詢操作
在 linq 查詢中,第一步是指定資料來源。像在大多數程式語言中一樣,必須先宣告變數,才能使用它。在 linq 查詢中,最先使用from子句的目的是引入資料來源和範圍變數。queryallcustomers 是 ienumerable型別 資料來源 customers 和範圍變數 cust var ...
LINQ 查詢彙總
子查詢 描述 查詢訂單數超過5的顧客資訊 查詢句法 var子查詢 from c in ctx.customers where from o in ctx.orders group o by o.customerid into o whereo.count 5 select o.key contain...