用不可为null的类型表示搜索失败

本文关键字:类型 表示 搜索 失败 null | 更新日期: 2023-09-27 17:58:40

我有一个方法,可以根据对象的一些字段搜索对象列表。如果找到匹配的对象,我会返回它,但我希望能够表示不匹配的情况。通常我会返回null,但我正在处理一个无法更改的不可为null的类。

用不可为null的类型表示搜索失败

有几个选项。使用Nullable<T>,或者返回bool并使用out参数来获得实际结果,例如:

MyType? FindObject() { }

或者:

bool FindObject(out MyType result) { }

这种情况可以通过Null模式来处理。

让我困惑的是,您写的是返回对象列表,然后返回对象。你能提供一些细节吗?

你能抛出异常吗?NoObjectFoundException