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
- 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();
- 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::.