使用非可空类型表示搜索失败

时间:2011-06-07 16:46:00

标签: c# non-nullable

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

3 个答案:

答案 0 :(得分:4)

有几种选择。使用Nullable<T>或返回bool并使用out参数获取实际结果,例如:

MyType? FindObject() { }

或者:

bool FindObject(out MyType result) { }

答案 1 :(得分:0)

这种情况可由Null Pattern处理。

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

答案 2 :(得分:0)

你能抛出异常吗? NoObjectFoundException