2011-07-31 88 views
7

我有一個Array<Person> myArray,我使用下面的代碼Array.Find與委託。如果找不到,它會返回什麼?

myArray.Find(o => o.name.Equals("John")); 

article在MSDN中指出:

返回值

類型:T

的第一個元素相匹配如果找到,則由 指定謂詞定義的條件;否則,類型T的默認值。

如果我有一個Array<int>,默認值爲零。 但是,在我的情況下,我正在使用一個類。比方說Array<Person>

我的課程的默認設置是什麼,以及如何使用委託處理未找到的案例?

回答

10

任何引用類型(類,接口,委託)的缺省值都是空引用。任何值類型的默認值都是一個值,其中該類型的所有字段都是該字段的默認值 - 因此最終爲0,\0,false等。

有關更多詳細信息,請參閱MSDN

4

假設Person是一個引用類型,它的默認值爲null。

因此,當條件不滿足時,對Array.Find()的調用將返回null。

相關問題