首页 > 后端开发 > C++ > 方法应该返回空收集还是空收集?

方法应该返回空收集还是空收集?

Linda Hamilton
发布: 2025-01-25 15:01:09
原创
286 人浏览过

Should Methods Return Null or Empty Collections?

返回 null 还是空集合:最佳实践

在设计返回集合作为返回值类型的方法时,会产生一个问题:应该返回 null 还是空集合?最佳实践强烈建议在所有情况下都返回空集合。

为什么选择空集合?

返回 null 是一种不好的实践,因为它会导致不必要的代码复杂性和潜在的运行时错误。例如,如果您为集合属性返回 null:

<code class="language-c#">if(myInstance.CollectionProperty != null)
{
  foreach(var item in myInstance.CollectionProperty)
    /* 如果 CollectionProperty 为 null,此代码可能会失败 */
}</code>
登录后复制

如果 myInstance.CollectionProperty 确实为 null,此代码可能会导致异常。相反,最好返回一个空集合,确保上述代码仍然可以无错误地执行。

属性最佳实践

对于返回集合的属性,建议仅初始化一次该属性。这可以在包含该属性的类的构造函数期间完成:

<code class="language-c#">public List<foo> Foos { public get; private set; }

public Bar() { Foos = new List<foo>(); }</code>
登录后复制

使用 C# 6,可以使用更简洁的版本:

<code class="language-c#">public List<foo> Foos { get; } = new List<foo>();</code>
登录后复制

方法最佳实践

对于返回集合的方法,如果实际集合不存在,则返回空集合。您可以为此目的使用 Enumerable.Empty() 方法:

<code class="language-c#">public IEnumerable<foo> GetMyFoos()
{
  return InnerGetFoos() ?? Enumerable.Empty<foo>();
}</code>
登录后复制

这种方法确保即使 InnerGetFoos() 返回 null,该方法仍然会返回一个空集合,从而防止潜在的错误。

以上是方法应该返回空收集还是空收集?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板