1

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

有人建议我创建一个“变量”类,但我看到的问题是无论如何我都必须创建该类的“公共”(或全局)实例,所以创建一个类并不能真正解决从我所看到的来看我的问题(不过我可能是错的)。

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

4

3 回答 3

4

你想要一个静态类。

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

   static Global()
   {
       GlobalArray =  //etc  
   }
}

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

var x = Global.GlobalArray;
于 2013-09-18T20:05:43.513 回答
2

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

public static class Global
{
   public static string[] MyGlobalArray{ get; set;}
}
于 2013-09-18T20:06:51.137 回答
1

你需要一个单例模式

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;

也可以看看:

于 2013-09-18T20:14:54.877 回答