Why we do not have global variables in C#?


C# does not have global variables and the scope resolution operator used in C++ for global variables is related to namespaces. It is called global namespace alias.

If you have a type that shares an identifier in a different namespace, then to identify them using the scope resolution operator.

For example, to reference System.Console class, use the global namespace alias with the scope resolution operator −

global::System.Console

Let us now see an example −

Example

 Live Demo

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]);
         }
      }
   }
}

Output

N 2
O 3
M 1
P 4

Samual Sam
Samual Sam

Learning faster. Every day.

Updated on: 20-Jun-2020

137 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements