为什么我们在C#中没有全局变量?

C#没有全局变量,C ++中用于全局变量的范围解析运算符与命名空间有关。它称为全局命名空间别名。

如果您具有在其他命名空间中共享标识符的类型,则可以使用范围解析运算符进行标识。

例如,要引用System.Console类,请将全局命名空间别名与范围解析运算符一起使用-

global::System.Console

现在让我们看一个例子-

示例

using myAlias = System.Collections;
namespace Program {
   class Demo {
      static void Main() {
         myAlias::Hashtable h = new myAlias::Hashtable();

         h.Add("M", "1");
         h.Add("N", "2");
         h.Add("O", "3");
         h.Add("P", "4");

         foreach (string n in h.Keys) {
            global::System.Console.WriteLine(n + " " + h[n]);
         }
      }
   }
}

输出结果

N 2
O 3
M 1
P 4