[英]C#.Net case-insensitive string
为什么C#.Net允许字符串对象的声明不区分大小写?
String sHello = "Hello";
string sHello = "Hello";
单词String的小写和大写S都是可以接受的,并且这似乎是唯一允许这样做的对象。
谁能解释为什么?
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
可能只是为了保持一致性。
除其他答案外,最好使用关键词(如果存在)。
例如,您应该使用string而不是System.String 。
“字符串”是类的名称。 “字符串”是映射此类的关键字。
就像一样
... 等等...
“字符串”是C#关键字。 它只是.NET BCL类之一“ System.String”的别名。
“字符串”只是系统命名空间中类“字符串”的C#别名。
我使用String而不是string,使用Int32而不是int,这样我的语法高亮显示了作为类型而不是关键字的字符串。 我想让关键词跳出来。
string是System.String的别名。 他们是一样的东西。
但是,按照惯例,通常将类型(System.String)的对象称为别名-例如
string myString = "Hello";
而对类的操作使用大写版本,例如
String.IsNullOrEmpty(myStringVariable);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.