函数应该返回null还是空对象?

。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。

从函数返回数据时的 最佳实践 是什么。返回Null还是空对象更好?又为什么一个要比另一个做呢?

考虑一下:

public UserEntity GetUserById(Guid userId)

{

//Imagine some code here to access database.....

//Check if data was returned and return a null if none found

if (!DataExists)

return null;

//Should I be doing this here instead?

//return new UserEntity();

else

return existingUserEntity;

}

让我们假设在该程序中可能存在这样的情况:具有该GUID的数据库中将没有用户信息。我可以想象在这种情况下抛出异常是不合适的?另外,我的印象是异常处理会损害性能。

回答:

如果您打算指示没有可用数据,则返回null通常是最好的主意。

空对象表示已返回数据,而返回null则表示未返回任何内容。

此外,如果您尝试访问对象中的成员,则返回null会导致null异常,这对于突出显示错误代码很有用-

尝试不访问任何成员都是没有意义的。访问空对象的成员不会失败,这意味着错误可能会被发现。

以上是 函数应该返回null还是空对象? 的全部内容, 来源链接: utcz.com/qa/411111.html

回到顶部