我是 C# 的初学者,在使用 Console.WriteLine
函数时遇到了以下错误。
The name 'Console' does not exist in the current context
我对 using
关键字的理解是,它的作用类似于 JavaScript 中的 require
或 import
。
然后我在命名空间文件的顶部添加了声明 using System;
,因为 IDE 的建议给了我类似 System.Console
的内容。现在我没有错误了。
出于好奇,我查看了 using Directive 中的 C# 文档部分。 并且有如下状态:
using 指令具有三种用途:
允许在命名空间中使用类型,这样您就不必限定在该命名空间中使用类型:
这部分是什么意思 - 这样您就不必限定该命名空间中类型的使用: 是什么意思。
为什么 using
关键字被称为指令,或者与我在 Angular 中使用的指令相比,一般编程中的指令是什么?
谢谢。
最佳答案
What does the part - so that you do not have to qualify the use of a type in that namespace: mean.
C# 区分简单名称,它们有一个名称和一个可选的类型参数,例如 String
或 List<int>
, 和限定名称,其中有多个名称由点分隔,例如 System.String
或 System.Collections.Generic.List<int>
.
当你有一个 using
指令,您可以省略使用的限定符。
And why the using keyword is called a directive or what is a directive in general programming
在 C# 中,我们有像 namespace Foo
这样的声明或 class Bar
或 void M() {}
我们有语句,比如foreach(var foo in bar) blah();
那么using System;
是什么? ?这不是声明;没有新项目申报。它不是语句 -- 语句是控制流元素,但 using 指令不引入控制流。它指示编译器具有解析名称的特定规则,因此它是一个指令。
所有这些信息都在 C# 规范中。 我强烈建议您自己获取一份规范副本,并在遇到此类问题时查阅。与在此处发布问题相比,这对您来说会更快、更容易。
关于c# - C#中语句 "to qualify the use of a type in that namespace"是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53627665/