[英]What does the statement “to qualify the use of a type in that namespace” mean in C#
我是C#的初学者,在使用Console.WriteLine
函数时遇到了以下错误。
The name 'Console' does not exist in the current context
我对using
关键字的理解是它在JavaScript中的行为类似于require
或import
。
所以我随后using System;
添加了语句using System;
在命名空间文件的顶部,因为IDE的建议给了我类似System.Console
东西。 现在我不再有错误了。
出于好奇,我去了使用指令部分的C#文档。 并且有以下状态:
using指令有三个用途:
允许在命名空间中使用类型,以便您不必限定在该命名空间中使用类型:
该部分是什么 - 这样您就不必限定在该命名空间中使用类型:意思是。
为什么using
关键字被称为指令或一般编程中的指令是什么,与我在Angular中使用的指令相比?
谢谢。
该部分是什么 - 这样您就不必限定在该命名空间中使用类型:意思是。
C#区分具有名称和可选类型参数的简单名称 ,如String
或List<int>
,以及具有多个以点分隔的名称的限定名称 ,如System.String
或System.Collections.Generic.List<int>
。
如果您有using
指令,则可以忽略使用的限定符。
为什么using关键字被称为指令或什么是一般编程中的指令
在C#中,我们有声明,如namespace Foo
或class Bar
或void M() {}
我们有语句 ,如foreach(var foo in bar) blah();
然后using System;
? 这不是宣言; 没有声明新项目。 它不是声明 - 语句是控制流元素,但using指令不引入控制流。 它指示编译器具有解析名称的特定规则,因此它是一个指令 。
所有这些信息都在C#规范中。 我强烈建议您自己获取规范的副本,并在遇到类似问题时咨询 。 这比在这里发布问题更快更容易。
该部分是什么 - 这样您就不必限定在该命名空间中使用类型 :是什么意思?
System
命名空间中有一个静态类Math
。 你可以像这样引用它的静态方法Min
而不using
任何:
var z = System.Math.Min( x, y );
或者你可以摆脱System.
通过using
System
命名空间:
using System;
[...]
var z = Math.Min( x, y );
或者你甚至可以摆脱Math.
(自C#6):
using static System.Math;
[...]
var z = Min( x, y );
第三个选项基本上允许您将静态类视为名称空间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.