与 C++ 相比,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("Q", "1"); h.Add("R", "2"); h.Add("S", "3"); h.Add("T", "4"); h.Add("U", "5"); foreach (string n in h.Keys) { global::System.Console.WriteLine(n + " " + h[n]); } } } }输出结果
T 4 R 2 S 3 U 5 Q 1