C#.Net不区分大小写的字符串
时间:2020-03-05 18:39:22 来源:igfitidea点击:
为什么C#.Net允许字符串对象的声明不区分大小写?
String sHello = "Hello"; string sHello = "Hello";
单词String的小写和大写S都是可以接受的,并且这似乎是唯一允许这样做的对象。
谁能解释为什么?
解决方案
回答
"字符串"是类的名称。 "字符串"是映射此类的关键字。
就像一样
- Int32 =>整数
- 十进制=>十进制
- Int64 =>长
... 等等...
回答
string是System.String的别名。他们是一样的东西。
不过,按照惯例,类型(System.String)的对象通常称为别名,例如
string myString = "Hello";
而对类的操作使用大写版本
例如
String.IsNullOrEmpty(myStringVariable);
回答
"字符串"是一个关键字。它只是.NET BCL类之一的" System.String"的别名。
回答
字符串是语言关键字,而System.String是别名。
两者都编译为完全相同的东西,类似地:
- int是System.Int32
- long是System.Int64
- 浮点数是System.Single
- double是System.Double
- char是System.Char
- 字节是System.Byte
- short是System.Int16
- ushort是System.UInt16
- uint是System.UInt32
- ulong是System.UInt64
我认为在大多数情况下,这与代码的可读性有关,所有基本系统值类型都具有别名,我认为小写的"字符串"可能只是为了保持一致性。
回答
" string"只是System-namespace中类" String"的Calias。
回答
除了其他答案外,最好使用关键词(如果存在)。
例如。我们应该使用字符串而不是System.String。
回答
我用字串而不是字串,
Int32而不是int,
这样我的语法高亮显示字符串是Type而不是关键字。我想让关键词跳出来。