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

 更新时间:2016年03月29日 09:22:36   作者:王景  
global 是 C# 2.0 中新增的关键字,理论上说,如果代码写得好的话,根本不需要用到它,但是不排除一些特别的情况,比如修改别人的代码,本文仅举例说明。

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类。

相关文章

  • C# WinForm调用Shell_NotifyIcon的示例代码

    C# WinForm调用Shell_NotifyIcon的示例代码

    这篇文章主要介绍了C# WinForm调用Shell_NotifyIcon的示例代码,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2020-11-11
  • C# Unity使用正则表达式去除部分富文本的代码示例

    C# Unity使用正则表达式去除部分富文本的代码示例

    正则表达式在我们日常开发中的用处不用多说了吧,下面这篇文章主要给大家介绍了关于C# Unity使用正则表达式去除部分富文本的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • C#中DropDownList动态生成的方法

    C#中DropDownList动态生成的方法

    这篇文章主要介绍了C#中DropDownList动态生成的方法,实例分析了C#中DropDownList的使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • C# WPF实现读写CAN数据

    C# WPF实现读写CAN数据

    这篇文章主要介绍了C# WPF实现读写CAN数据,文中通过代码示例给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-06-06
  • C# 中如何取绝对值函数

    C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • C#实现UDP通信方式

    C#实现UDP通信方式

    文章介绍了如何使用C#实现UDP通信,包括UDP服务器和客户端的实现步骤和示例代码,服务器关键类为UdpClient和IPEndPoint,实例化对象后可以通过异步任务发送数据并接收数据,客户端同样使用UdpClient和IPEndPoint,连接到远程服务器后开新任务接收数据
    2025-01-01
  • 如何在c#中使用Zlib压缩与解压

    如何在c#中使用Zlib压缩与解压

    这篇文章主要介绍了如何在c#中使用Zlib压缩与解压,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-04-04
  • C#实现十五子游戏

    C#实现十五子游戏

    这篇文章主要为大家详细介绍了C#实现十五子游戏的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Unity实现刮奖效果

    Unity实现刮奖效果

    这篇文章主要为大家详细介绍了Unity实现刮奖效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • C#基础入门之值类型和引用类型的区别详析

    C#基础入门之值类型和引用类型的区别详析

    在C#中值类型的变量直接存储数据,而引用类型的变量持有的是数据的引用,数据存储在数据堆中,下面这篇文章主要给大家介绍了关于C#基础入门之值类型和引用类型区别的相关资料,需要的朋友可以参考下
    2021-09-09

最新评论