2011-07-31 87 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。

相关问题