使用委托进行 Array.Find。如果没有找到它会返回什么?

发布于 2024-11-27 06:04:16 字数 487 浏览 1 评论 0原文

我有一个Array; myArray 并且我正在使用以下代码

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

这篇文章 MSDN 指出:

返回值

类型:T

第一个符合条件的元素 指定谓词(如果找到);否则,为类型 T 的默认值。

如果我有一个 Array,则默认值将为零。 但是,就我而言,我正在使用一个类。假设Array

我的类的默认值是什么以及如何使用委托处理未找到的情况?

I have an Array<Person> myArray and I am using the following code

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

This article in Msdn states:

Return Value

Type: T

The first element that matches the conditions defined by the
specified predicate, if found; otherwise, the default value for type T.

If I had an Array<int> the default value would be zero.
But, in my case I am using a class. Let's say Array<Person>.

What would be the default for my class and how can I handle the not found case using a delegate?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

美人如玉 2024-12-04 06:04:16

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

请参阅 MSDN 了解更多详细信息。

The default for any reference type (class, interface, delegate) is a null reference. The default for any value type is a value where all the fields of the type are the default value for that field - so you end up with 0, \0, false etc.

See MSDN for more details.

述情 2024-12-04 06:04:16

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

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

Assuming Person is a reference type, the default value for it would be null.

Therefore the call to Array.Find() would return null when the condition wasn't satisfied.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文