今天我遇到了一个奇怪的困惑。尽管我在这篇文章中阅读了 C# 中字符串和字符串之间的区别:What is the difference between String and string in C#? .但是当我尝试在不使用命名空间 System
的情况下使用带有大写字母的 String
时,它无法被识别。喜欢
这段代码有效,
using System;
String s = "";
但是如果不使用 System
,它会报错。
而带有小写字母的 string
使用和不使用 System
命名空间。
如果 String 和 string 是相同的东西,那么为什么一个只适用于它的命名空间,而另一个也适用于和不适用命名空间。
最佳答案
string
是一个 C# 构造,它在编译期间翻译 为 System.String
。
每个 C# 程序默认有:
using string = System.String;
using char = System.Char;
using int = System.Int32;
using double = System.Double;
System.String
是类。如果不能访问 System
命名空间,则不能使用 String
类型(因此,要么完全限定为 System.String
,要么使用using System;
指令)。
关于c# - 字符串别名在没有 System.String 的情况下工作,但 String 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12987315/