Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Toán tử giải quyết phạm vi (::) trong C# dùng ở đâu?


Trong C++, toán tử :: dùng cho biến toàn cục, namespace, static member. Trong C#, nó chủ yếu liên quan đến namespace alias và global namespace.

Trường hợp sử dụng chính

  1. Namespace alias: Khi hai namespace có kiểu trùng tên, dùng alias + :: để phân biệt.
    using myAlias = System.Collections;
    myAlias::Hashtable h = new myAlias::Hashtable();
  2. Global namespace qualifier: global:: buộc truy cập từ namespace gốc, tránh xung đột.
    global::System.Console.WriteLine("Hello");

Ví dụ hoàn chỉnh

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

Kết quả

N 2
O 3
M 1
P 4

Lưu ý: C# không dùng :: để truy cập static member của lớp (dùng .). Toán tử này chỉ dành cho namespace alias và global::.