函数应该返回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