在C#中global关键字的作用及其用法
global是C#2.0中新增的关键字,理论上说,如果代码写得好的话,根本不需要用到它。
假设你现在写了一个类,名字叫System。那么当你再在代码里写System的时候,编译器就不知道你是要指你写的System类还是系统的System命名空间,而System命名空间已经是根命名空间了,无法再通过完全限名来指定。在以前的C#版本中,这就是一个无法解决的问题。现在,可以通过global::System来表示System根命名空间,而用你自己的MyNamespace.System来表示自己的类。
当然,这种情况不应该出现,你不应该写一个名为System的类。
代码演示:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceglobalFunc
{
classProgram
{
staticvoidMain(string[]args)
{
Systemsys=newSystem();
global::System.Console.WriteLine("global.");
global::System.Console.ReadKey();
}
}
publicclassSystem{}
}
虽然using了一个System命名空间,但是下面还有一个publicclassSystem{...}类,这样的话,如果直接使用System.Console.WriteLine是会报错的,因为会找到就近的System类,那么这个System类里面没有Console。所以如果需要使用的话,就需要像上面一样,使用global::System.Console.WriteLine,因为使用global标记的类会从全局开始寻找,我的理解就是会从最外面逐渐向内部寻找System类。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下