在 Visual C# 中创建全局变量

本文关键字:创建 全局变量 Visual | 更新日期: 2023-09-27 18:31:56

我知道全局变量在大多数情况下不是一个好主意(尤其是在 OOP 中),但我需要创建一个可以被应用程序中的任何函数或类读取的数组(基本上,数组将存储我只想从我的 MySQL 数据库中读取一次的数据)。

有人建议我创建一个"变量"类,

但我看到的问题是无论如何我都必须创建该类的"公共"(或全局)实例,因此创建一个类并不能真正解决我的问题从我所看到的(不过我可能是错的)。

如何创建所有类和方法都可以看到的全局变量数组?

在 Visual C# 中创建全局变量

你想要一个静态类。

public static class Global
{
   public static string[] GlobalArray { get; set; } 
   static Global()
   {
       GlobalArray =  //etc  
   }
}

可以通过以下方式从任何地方访问:

var x = Global.GlobalArray;

不能在 C# 中创建全局变量,但可以创建具有静态属性的静态类。

public static class Global
{
   public static string[] MyGlobalArray{ get; set;}
}

你需要一个单例模式:

public class Variables
{
  private static Variables instance = new Variables();
  public static Variables Instance
  {
    get
    {
      return instance;
    }
  }
  public string[] GlobalArray { get; set; } 
}
// Usage
var myGlobalArray = Variables.Instance.GlobalArray;

另请参阅:

  • 在 C# 中实现单一实例 (MSDN)
  • 在 C# 中实现单一实例模式(C# 深入)