如何定义Visual C#中的常量,如C中的#define?

neu*_*cer 32 c# constants

在C中,您可以定义这样的常量

#define NUMBER 9
Run Code Online (Sandbox Code Playgroud)

因此,无论NUMBER出现在程序中,它都会替换为9.但Visual C#不会这样做.怎么做?

Jim*_*meh 62

public const int NUMBER = 9;
Run Code Online (Sandbox Code Playgroud)

你需要将它放在某个类的某个类中,并且使用它 ClassName.NUMBER

  • 如果它不是一个宏,为什么有可怕的全部大写命名?也可以给常量一个有意义的名称,并认为它有效的常量而不是假装它是一个宏. (3认同)
  • 有没有办法定义程序范围的变量,不需要使用类调用? (2认同)
  • @MrUniverse我同意你的观点,我讨厌`Constants.SECURITY_KEY`.我更喜欢`Constants.SecurityKey`. (2认同)

Mar*_*ers 16

你不能在C#中做到这一点.请const int改用.


小智 14

static class Constants
{
    public const int MIN_LENGTH = 5;
    public const int MIN_WIDTH  = 5; 
    public const int MIN_HEIGHT = 6;
}

// elsewhere
public CBox()
{
    length = Constants.MIN_LENGTH; 
    width  = Constants.MIN_WIDTH; 
    height = Constants.MIN_HEIGHT;  
}
Run Code Online (Sandbox Code Playgroud)

  • 欢迎来到SO,在这里,解释为什么要使用您的解决方案而不仅仅是如何解释这是一个很好的做法.这将使您的答案更有价值,并帮助读者更好地了解您的工作方式.我还建议您查看我们的常见问题解答:http://stackoverflow.com/faq. (7认同)
  • 如果它不是一个宏,为什么有可怕的全部大写命名?不妨给他们有意义的名字,并考虑他们有效的常数,而不是假装他们是宏. (2认同)

Vin*_*inz 13

检查如何:在MSDN上的C#中定义常量:

在C#中,#define预处理程序指令不能用于以C和C++中通常使用的方式定义常量.