C#中的global关键字

global关键字,就是字面的意思,全局。

其实有些时候会犯一些错误,就是类名取了一个跟系统类名雷同的情况,其实这是设计上的失误,但是会出现一个情况就是没改了,那么global关键字就起到了作用。

如下代码:

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5  6 namespace globalFunc 7 { 8     class Program 9     {10         static void Main(string[] args)11         {12             System sys = new System();13             global::System.Console.WriteLine("global.");14             global::System.Console.ReadKey();15         }16     }17     public class System { }18 }

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

时间: 2024-10-10 07:03:13

C#中的global关键字的相关文章

php中的global关键字是啥意思

如果没有global关键字,意思是 大兄弟 name这个变量你只能在这个函数内找它的值,找不到就出错了,即使函数外部有一个和name同名的变量也没用,照样出错. 有了global之后,意思是兄弟,我这个name的值你得到函数外部找它的值,即使函数内部有一个同名的name变量那也没有用. 原文地址:https://www.cnblogs.com/yfish/p/8449857.html

JavaScript中的this关键字

"this"关键字是JavaScript中广泛应用的一种特性,但它经常也是这门语言中最容易混淆和误解的特性."this"的实际意义是什么?它是如何求值的? 本文试图以清晰的方式澄清和解释这问题的答案. 有过其他编程经验的人对"this"关键字并不陌生,大部分时候当通过构造函数实例化一个类的实例时,它指新创建的对象.例如,如果我有一个类Boat(),其拥有一个moveBoat()方法,当在moveBoat方法中引用"this"的

飘逸的python - 为什么修改全局的dict变量不用global关键字

比如下面这段代码 s = 'foo' d = {'a':1} def f(): s = 'bar' d['b'] = 2 f() print s print d 为什么修改字典d的值不用global关键字先声明呢? 这是因为, 在s = 'bar'这句中,它是"有歧义的",因为它既可以是表示引用全局变量s,也可以是创建一个新的局部变量,所以在python中,默认它的行为是创建局部变量,除非显式声明global. 在d['b']=2这句中,它是"明确的",因为如果把d

【PHP内核学习】global关键字的解析过程分析

本文github地址: https://github.com/wusuopubupt/phpLib/blob/master/global%E5%85%B3%E9%94%AE%E5%AD%97%E7%9A%84%E8%A7%A3%E6%9E%90%E8%BF%87%E7%A8%8B%E5%88%86%E6%9E%90 |=-----------------------------------------------------------------------=| |=-------------

JavaScript中的this关键字(copy别人的)

颜海镜 专注web前端,分享html,css,javascript,jquery等相关原创知识-- JavaScript中的this关键字 "this"关键字是JavaScript中广泛应用的一种特性,但它经常也是这门语言中最容易混淆和误解的特性."this"的实际意义是什么?它是如何求值的? 本文试图以清晰的方式澄清和解释这问题的答案. 有过其他编程经验的人对"this"关键字并不陌生,大部分时候当通过构造函数实例化一个类的实例时,它指新创建的

【python】为什么修改全局的dict变量不用global关键字

转自:http://my.oschina.net/leejun2005/blog/145911?fromerr=qnPCgI19#OSC_h4_8 为什么修改字典d的值不用global关键字先声明呢? s = 'foo' d = {'a':1} def f(): s = 'bar' d['b'] = 2 f() print s # foo print d # {'a': 1, 'b': 2} 这是因为,在s = 'bar'这句中,它是“有歧义的“,因为它既可以是表示引用全局变量s,也可以是创建一

python 全局变量的理解(global关键字)

先看代码: 代码一: #!/usr/bin/python #coding:utf8 x = 20 def test(): print 'x= ',x test() 代码一执行结果: x = 20 我们在代码一的基础上稍加修改 代码二: x = 20 def test(): print 'x= ',x x = 2 print 'change x to ',x test() 代码二执行结果: x= Traceback (most recent call last): File "D:\Demo\te

PHP变量入门教程(3)global 关键字

global关键字 首先,一个使用 global 的例子: 使用 global <?php $a = 1; $b = 2; function Sum() { global $a, $b; $b = $a + $b; } Sum(); echo $b; ?> 以上脚本的输出将是 "3".在函数中申明了全局变量 $a 和 $b,任何变量的所有引用变量都会指向到全局变量.对于一个函数能够申明的全局变量的最大个数,PHP 没有限制. 在全局范围内访问变量的第二个办法,是用特殊的 P

python基础 - global关键字及全局变量的用法

python中global关键字主要作用是声明变量的作用域. 在C语言中,由于变量一定是先声明,后使用,所以我们可以清楚的知道,现在使用的变量是全局还是局部,比如: int a = 5; void test(void) { a = 1; // 没有先声明,所以用的是全局的变量a } void test1(void) { int a; a = 2; // 前面声明了,所以用的是局部变量a,对其所做的修改不会影响全局变量a } void main(void) { printf("before: a