1. 程式人生 > >關於Linq中First、FirstOrDefault;Single、SingleOrDefault等方法的說明

關於Linq中First、FirstOrDefault;Single、SingleOrDefault等方法的說明

single 對象 判斷 leo blog first 進行 異常 不包含

關於Linq中First、FirstOrDefault;Single、SingleOrDefault等方法的說明

這裏以First、FirstOrDefault進行說明,其他類似。
1、First:取序列中滿足條件的第一個元素,如果沒有元素滿足條件,則拋出異常

2、FirstOrDefault:取序列中滿足條件的第一個元素,如果沒有元素滿足條件,則返回默認值(對於可以為null的對象,默認值為null,對於不能為null的對象,如int,默認值為0)

3、Single,返回序列中的唯一一條記錄,如果沒有或返回多條,則引發異常。

4、SingleOrDefault,返回序列中的唯一一條記錄,如果序列中不包含任何記錄,則返回默認值,如果返回多條,則引發異常。

註:以上默認值為NULL。

First、FirstOrDefault的區別在於:當沒有元素滿足條件時,一個拋出異常,一個返回默認值。
因此,在使用時,一定要註意這個區別:
1、當確信序列中一定有滿足條件的元素時,使用First方法,取到元素後,無需判斷是否為null
2、當序列中可能找不到滿足條件的元素時,使用FirstOrDefault方法,然後,一定要對返回值是否為null,進行不同的處理

關於Linq中First、FirstOrDefault;Single、SingleOrDefault等方法的說明