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

作者:王景 时间:2021-12-24 04:33:19 

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#,global
0
投稿

猜你喜欢

  • java程序员必须要学会的linux命令总结(推荐)

    2021-12-11 00:47:47
  • 解决SpringBoot webSocket 资源无法加载、tomcat启动报错的问题

    2021-07-28 05:06:42
  • C#.net实现在Winform中从internet下载文件的方法

    2023-09-13 18:04:15
  • 如何基于FTP4J实现FTPS连接过程解析

    2022-09-19 21:51:35
  • Java8 Comparator: 列表排序的深入讲解

    2022-12-11 08:30:01
  • Java精品项目瑞吉外卖之员工信息管理篇

    2023-07-29 07:43:36
  • c# 控件截图的简单实例

    2022-01-21 16:43:19
  • 实现分布式WebSocket集群的方法

    2021-06-12 22:55:10
  • Java 你知道什么是耦合、如何解(降低)耦合

    2022-03-23 08:44:19
  • Spring boot中@Conditional和spring boot的自动配置实例详解

    2023-06-20 09:36:14
  • MyBatis-Plus实现分页的方法使用详解

    2023-02-14 18:22:16
  • Java四位电话号码的加密方法

    2022-08-20 16:04:29
  • 带着问题读CLR via C#(笔记二)类型基础

    2022-01-31 07:31:08
  • java基于netty NIO的简单聊天室的实现

    2023-11-18 15:29:43
  • Java的Swing编程中使用SwingWorker线程模式及顶层容器

    2021-09-09 08:45:06
  • OpenCV和C++实现图像的翻转(镜像)、平移、旋转、仿射与透视变换

    2023-07-14 23:47:22
  • SpringMVC入门实例

    2023-02-04 12:43:48
  • 基于Java实现Actor模型

    2021-12-11 09:28:50
  • 解决fastjson从1.1.41升级到1.2.28后报错问题详解

    2021-12-30 21:55:35
  • Java锁之自旋锁详解

    2022-12-12 21:38:36
  • asp之家 软件编程 m.aspxhome.com