任何人都可以告诉我,我没有使用系统名称空间,但字符串可用作字符串hello =“Hello”;并且不会抛出任何编译时错误
但是,如果我写大写字符串,则它不可用。
sealed class SealedClass
{
public void PrintSealed()
{
string hello = "Hello";
}
}
答案 0 :(得分:9)
您不需要using
关键字来使用库的“片段”。 using
关键字只是为了更容易引用名称空间内的类型。
写作时
using System;
.... ...
String hello = "Hello";
编译器将其替换为
System.String hello = "Hello";
但你可以直接写
System.String hello = "Hello";
没有using System
。但这很痛苦: - )
然后string
是System.String
的别名,因此当您编写string
时,C#编译器会将其替换为System.String
(MSDN)。
请注意,要使用库,您仍然需要引用它,但是您不会从代码中引用它,而是从项目中引用它,执行Add Reference
。 mscorlib
库(程序集)会自动引用(您无法删除引用)
这与Microsoft Visual C / C ++略有不同,后者通常有类似的内容:
#pragma comment(lib, "somelibrary")
这是链接器包含.lib
文件(库)的指令。在Visual C / C ++中,您通常不需要显式包含库,只需包含其包含该命令的头,并且链接器将自动链接库。