gpt4 book ai didi

.net - 我应该返回 'null' 还是一个空数组?

转载 作者:行者123 更新时间:2023-12-03 14:35:58 25 4
gpt4 key购买 nike

假设您有一个方法应该创建并返回某种类型的数组。如果数组没有被填充怎么办。你返回一个空数组还是空/无?

最佳答案

在 .NET 中,返回一个空数组比返回 null 更好,因为它使调用者不必编写 null 检查和/或冒着 NullReferenceException 的风险。 ;您会看到这是基类库中的常见模式。您不会这样做的唯一情况是在不太可能的情况下,空数组和 null 具有不同的语义含义。

official array usage guidelines状态:

The general rule is that null, empty string (""), and empty (0 item) arrays should be treated the same way. Return an empty array instead of a null reference.



也就是说,如果您使用 .NET 2.0 或更高版本,最好返回 IEnumerable<T>或其可扩展的派生词之一,例如 Collection<T> , ReadOnlyCollection<T> , ICollection<T>IList<T> (在这种情况下,我仍然倾向于返回一个空而不是 null)。 More info as to why these should be preferred can be found at Eric Lippert's blog .

关于.net - 我应该返回 'null' 还是一个空数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/332229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com