如何在C#中使用全局变量?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (24)

如何声明变量,以便每个类(* .cs)都可以访问其内容,而无需实例引用?

提问于
用户回答回答于

在C#中没有全局变量这样的东西。期。

如果需要,您可以拥有静态成员:

public static class MyStaticValues
{
   public static bool MyStaticBool {get;set;}
}
用户回答回答于

C#你无法定义真正的全局变量(在某种意义上它们不属于任何类)。

话虽这么说,我所知道的模仿这个特征的最简单的方法是使用static class如下:

public static class Globals
{
    public const Int32 BUFFER_SIZE = 512; // Unmodifiable
    public static String FILE_NAME = "Output.txt"; // Modifiable
    public static readonly String CODE_PREFIX = "US-"; // Unmodifiable
}

然后,您可以在代码中的任何位置检索已定义的值(前提是它是相同的一部分namespace):

String code = Globals.CODE_PREFIX + value.ToString();

为了处理不同的命名空间,您可以:

  • 声明Globals该类而不将其包含在特定的namespace(以便它将被放置在全局应用程序命名空间中);
  • 插入正确的using指令以从另一个中检索变量namespace

扫码关注云+社区

领取腾讯云代金券