按范围定义常量

Les*_*ter 3 c# constants

我一直习惯在课堂上定义常量:

public class MyClass
{
    private const int SomeNumber = 10;
    ...
}
Run Code Online (Sandbox Code Playgroud)

但是,我最近与一个认为如果常量仅由特定方法使用的人合作,那么应该在该方法中定义:

public class MyClass
{
    public void SomeMethod()
    {
        const int SomeNumber = 10;
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我唯一更喜欢第一个的理由是,如果在其他方法中需要常量,则不需要重构,并且它更容易更新常量,因为它们将在同一个地方定义.

还有其他优点/缺点或没有真正的区别吗?

Kla*_*sen 5

如果它需要更新它不是真正的常量.我的意思是,你不经常重构Pi的价值.在我看来,改变的东西属于配置文件.

也就是说,我通常使用类级别的公共常量.我从未见过或使用过方法级常量.从概念上讲,方法级别常量对我来说没什么意义.