为什么C#.Net允许字符串对象的声明不区分大小写?
String sHello = "Hello";
string sHello = "Hello";
单词String的小写和大写S都是可接受的,这似乎是唯一允许这样做的对象。
任何人都可以解释原因吗?
答案 0 :(得分:21)
string
是一种语言关键字,而System.String
是别名的类型。
两者编译成完全相同的东西,类似:
int
是System.Int32
long
是System.Int64
float
是System.Single
double
是System.Double
char
是System.Char
byte
是System.Byte
short
是System.Int16
ushort
是System.UInt16
uint
是System.UInt32
ulong
是System.UInt64
我认为在大多数情况下,这是关于代码易读性的 - 所有基本系统值类型都有别名,我认为小写string
可能只是为了保持一致。
答案 1 :(得分:6)
除了其他答案之外,最好使用关键字(如果存在)。
E.g。你应该使用 string 而不是 System.String 。
答案 2 :(得分:2)
“String”是类的名称。 “string”是映射此类的关键字。
和
一样......等等......
答案 3 :(得分:1)
“string”是C#关键字。它只是“System.String”的别名 - 一个.NET BCL类。
答案 4 :(得分:1)
“string”只是System-namespace中“String”类的C#别名。
答案 5 :(得分:0)
string是System.String的别名。他们是一回事。
按照惯例,类型(System.String)的对象通常被称为别名 - 例如。
string myString = "Hello";
而类上的操作使用大写版本 e.g。
String.IsNullOrEmpty(myStringVariable);
答案 6 :(得分:0)
我使用String而不是字符串, Int32而不是int, 这样我的语法高亮显示选择字符串作为Type而不是关键字。我想让关键词跳出来。