在C#中声明"限定在该命名空间中使用类型"的含义是什么意思

Tee*_*ebo 3 c# using directive

我是C#的初学者,在使用该Console.WriteLine功能时遇到了以下错误.

The name 'Console' does not exist in the current context
Run Code Online (Sandbox Code Playgroud)

我的理解using关键字是,它就像一个requireimportJavaScript中.

所以我using System;在命名空间文件的顶部添加了语句,因为IDE的建议给了我类似的东西System.Console.现在我不再有错误了.

出于好奇,我去了使用指令部分的C#文档.并且有以下状态:

using指令有三个用途:

允许在命名空间中使用类型,以便您不必限定在该命名空间中使用类型:

该部分是什么 - 这样您就不必限定在该命名空间中使用类型:意思是.

为什么using关键字被称为指令或一般编程中的指令是什么,与我在Angular中使用的指令相比?

谢谢.

Eri*_*ert 5

该部分是什么 - 这样您就不必限定在该命名空间中使用类型:意思是.

C#区分具有名称和可选类型参数的简单名称(如String或)List<int>,以及具有由点分隔的多个名称的限定名称,例如System.StringSystem.Collections.Generic.List<int>.

当你有一个using指令时,你可以忽略使用的限定符.

为什么using关键字被称为指令或什么是一般编程中的指令

在C#中,我们必须声明类似namespace Fooclass Bar或者void M() {} 我们有语句,像foreach(var foo in bar) blah();则是什么using System;?这不是宣言; 没有声明新项目.它不是声明 - 语句是控制流元素,但using指令不引入控制流.它指示编译器具有解析名称的特定规则,因此它是一个指令.

所有这些信息都在C#规范中.我强烈建议您自己获取规范的副本,并在遇到类似问题时咨询.这比在这里发布问题更快更容易.