c# - C#中语句 "to qualify the use of a type in that namespace"是什么意思

标签 c# directive using

我是 C# 的初学者,在使用 Console.WriteLine 函数时遇到了以下错误。

The name 'Console' does not exist in the current context

我对 using 关键字的理解是,它的作用类似于 JavaScript 中的 requireimport

然后我在命名空间文件的顶部添加了声明 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# 区分简单名称,它们有一个名称和一个可选的类型参数,例如 StringList<int> , 和限定名称,其中有多个名称由点分隔,例如 System.StringSystem.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 Barvoid 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/

相关文章:

c# - 我可以在 C# *using* block 中使用不同类型的对象吗?

c++ - 在 visual studio 2012 (C++) 中使用 .lib

c# - 我应该如何在 Vector3 结构中实现 .Equals() ?

c# - 使用默认网络凭证是一个安全漏洞吗?

angular - Angular2中自定义指令和组件之间的通信

javascript - 未知提供者 : ngModelProvider

c# - 我可以重用通过 "using"语句释放的对象吗

c# - 在 C# 中检查 paypal 订阅状态

c# - Facebook 从 C# 发布到页面

unit-testing - 如何在AngularJS单元测试中将div添加到DOM中?