在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
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
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
![](https://img.aspxhome.com/file/2023/5/80315_0s.jpg)
Java8 Comparator: 列表排序的深入讲解
2022-12-11 08:30:01
Java精品项目瑞吉外卖之员工信息管理篇
2023-07-29 07:43:36
![](https://img.aspxhome.com/file/2023/9/81939_0s.png)
c# 控件截图的简单实例
2022-01-21 16:43:19
实现分布式WebSocket集群的方法
2021-06-12 22:55:10
![](https://img.aspxhome.com/file/2023/3/82433_0s.png)
Java 你知道什么是耦合、如何解(降低)耦合
2022-03-23 08:44:19
Spring boot中@Conditional和spring boot的自动配置实例详解
2023-06-20 09:36:14
![](https://img.aspxhome.com/file/2023/9/61539_0s.png)
MyBatis-Plus实现分页的方法使用详解
2023-02-14 18:22:16
![](https://img.aspxhome.com/file/2023/6/60026_0s.png)
Java四位电话号码的加密方法
2022-08-20 16:04:29
![](https://img.aspxhome.com/file/2023/9/89629_0s.jpg)
带着问题读CLR via C#(笔记二)类型基础
2022-01-31 07:31:08
![](https://img.aspxhome.com/file/2023/3/82143_0s.png)
java基于netty NIO的简单聊天室的实现
2023-11-18 15:29:43
![](https://img.aspxhome.com/file/2023/7/69697_0s.png)
Java的Swing编程中使用SwingWorker线程模式及顶层容器
2021-09-09 08:45:06
OpenCV和C++实现图像的翻转(镜像)、平移、旋转、仿射与透视变换
2023-07-14 23:47:22
![](https://img.aspxhome.com/file/2023/3/95523_0s.jpg)
SpringMVC入门实例
2023-02-04 12:43:48
![](https://img.aspxhome.com/file/2023/8/69348_0s.gif)
基于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