using指令都用了这么多年了,其实还真没懂!

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

using指令都⽤了这么多年了,其实还真没懂!
在C语⾔中,我们经常使⽤#include<stdio.h>指令来导⼊标准输⼊输出库,这确实很好理解,相当于把代码复制到当前的程序中。

但在C#语⾔中,当我们写Console程序时,经常在第⼀⾏导⼊System命名空间
1using System;
2
3namespace HelloWorld
4 {
5class Program
6 {
7static void Main(string[] args)
8 {
9 Console.WriteLine("Hello World!");
10 }
11 }
12 }
问题来了,这个命名空间导⼊到哪⾥去了?但肯定不是把System命名空间的代码复制到第⼀⾏来,不懂。

做个⼩改动,把using System;这个指令移动到HelloWorld这个命名空间中,如下:
1namespace HelloWorld
2 {
3using System;
4class Program
5 {
6static void Main(string[] args)
7 {
8 Console.WriteLine("Hello World!");
9 }
10 }
11 }
使⽤dotnet run运⾏如下:
神奇的发现,居然可以正常的运⾏。

在这⾥,using System; 指令把System命名空间导⼊到HelloWorld这个命名空间,然后HelloWorld中的类,都可以使⽤System命名空间中的类,都像使⽤HelloWorld命名空间⾃⼰定义的类⼀样。

总结,在⼀个源程序⽂件的头⼏⾏导⼊的命名空间(如System),指的是,在当前源程序⽂件中,向所有的命名空间(如HelloWorld),都导⼊该命名空间(如System)。

相关文档
最新文档