Array.Find with Delegate。如果找不到它会返回什么?

时间:2011-07-31 21:44:41

标签: c# arrays delegates find

我有Array<Person> myArray我正在使用以下代码

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

Msdn中的article状态:

  

返回值

     

类型:T

     

匹配由the。定义的条件的第一个元素   指定的谓词,如果找到;否则,类型T的默认值。

如果我有Array<int>,则默认值为零。 但是,就我而言,我正在上课。我们说Array<Person>

我的班级的默认值是什么?如何使用委托处理未找到的案例?

2 个答案:

答案 0 :(得分:13)

任何引用类型(类,接口,委托)的默认值都是空引用。任何值类型的默认值都是一个值,其中该类型的所有字段都是该字段的默认值 - 因此您最终得到0,\0,false等。

有关详细信息,请参阅MSDN

答案 1 :(得分:4)

假设Person是引用类型,它的默认值将为null。

因此,当条件不满足时,对Array.Find()的调用将返回null。