Where do we use scope Resolution Operator (::) in C#?

In C++ the scope resolution operator i.e. :: is used for global variables, whereas in C# it is related to namespaces.

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

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


Let us see an 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]);


N 2
O 3
M 1
P 4