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而不是关键字。我想让关键词跳出来。