簡體   English   中英

C#.Net不區分大小寫的字符串

[英]C#.Net case-insensitive string

為什么C#.Net允許字符串對象的聲明不區分大小寫?

String sHello = "Hello";
string sHello = "Hello";

單詞String的小寫和大寫S都是可以接受的,並且這似乎是唯一允許這樣做的對象。

誰能解釋為什么?

string是語言關鍵字,而System.String是它的別名類型。

兩者都編譯為完全相同的東西,類似地:

  • intSystem.Int32
  • longSystem.Int64
  • floatSystem.Single
  • doubleSystem.Double
  • charSystem.Char
  • byteSystem.Byte
  • shortSystem.Int16
  • ushortSystem.UInt16
  • uintSystem.UInt32
  • ulongSystem.UInt64

我認為在大多數情況下,這與代碼的可讀性有關-所有基本系統值類型都具有別名,我認為小寫的string可能只是為了保持一致性。

除其他答案外,最好使用關鍵詞(如果存在)。

例如,您應該使用string而不是System.String

“字符串”是類的名稱。 “字符串”是映射此類的關鍵字。

就像一樣

  • Int32 =>整數
  • 小數=>小數
  • Int64 =>長

... 等等...

“字符串”是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM