当前位置: 移动技术网 > IT编程>开发语言>c# > 在C#中global关键字的作用及其用法

在C#中global关键字的作用及其用法

2019年07月18日  | 移动技术网IT编程  | 我要评论
global 是 c# 2.0 中新增的关键字,理论上说,如果代码写得好的话,根本不需要用到它。 假设你现在写了一个类,名字叫 system。那么当你再在代码里写 sys

global 是 c# 2.0 中新增的关键字,理论上说,如果代码写得好的话,根本不需要用到它。

假设你现在写了一个类,名字叫 system。那么当你再在代码里写 system 的时候,编译器就不知道你是要指你写的 system 类还是系统的 system 命名空间,而 system 命名空间已经是根命名空间了,无法再通过完全限名来指定。在以前的 c# 版本中,这就是一个无法解决的问题。现在,可以通过global::system来表示 system 根命名空间,而用你自己的mynamespace.system来表示自己的类。

当然,这种情况不应该出现,你不应该写一个名为 system 的类。

代码演示:

复制代码 代码如下:
using system;
using system.collections.generic;
using system.linq;
using system.text;
 
namespace globalfunc
{
    class program
    {
        static void main(string[] args)
        {
            system sys = new system();
            global::system.console.writeline("global.");
            global::system.console.readkey();
        }
    }
    public class system { }
}

虽然using了一个system命名空间,但是下面还有一个public class system{ ... }类,这样的话,如果直接使用system.console.writeline是会报错的,因为会找到就近的system类,那么这个system类里面没有console。所以如果需要使用的话,就需要像上面一样,使用global::system.console.writeline,因为使用global标记的类会从全局开始寻找,我的理解就是会从最外面逐渐向内部寻找system类。

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网