发现 C# 还要和 C++ 一样的::
运算符,来测试一下。
命名空间被赋值别名以后,可以隐藏掉原有的命名空间。想要访问需要完整路径。如果不用,可以用::
运算法,它的优先级被高。
看下下面的例子:
1 | using System; |
对照输出顺序就,结合代码注释,可以看出区别:
1 | MyRootNamespace.MyNestedNamespace.MyClass.Print() |
这种方式在大项目出现别名和.NET
命名空间重名的时候有用,一般用不上吧?!
global
是顶级根命名空间的别名,如果出现上面所说的那种情况,可以这样:
1 | global::System.Collections.Generic.List<int> // 一个示例 |
参考:
《C#入门经典第三版》P305
《C#入门经典第三版》P305