类方法:我应该在访问变量之前一直检查它们吗?

1 c# methods class

抱歉这个愚蠢的问题.

假设我有这个类(代码在C#中):

class Foo {
    public List<string> Bars { get; set; }        
    public Foo() { }
}
Run Code Online (Sandbox Code Playgroud)

现在我想实现一个在Bars上执行某些操作的方法,例如Foo.Translate().

我是否应该始终检查我尝试访问/修改的内容是否为空或有效?

class Foo {
    public List<string> Bars { get; set; }        
    public Foo() { }

    public void Translate()
    {
        // Should I check with a null && count > 0?
        if (Bars != null && Bars.Count > 0)
        {
            [...]
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

use*_*620 5

这取决于.

如果值为null且不应该是,则显然出现了问题,无论您正在做什么,现在都是无效的情况,并且无论如何都会给您错误的结果.让它抛出异常.检查日志以找出它为空的原因,并修复该错误.

如果值为null的有效方案,则执行您正在执行的操作是合适的.