Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C#.Net case-insensitive string

Tags:

c#

.net

Why does C#.Net allow the declaration of the string object to be case-insensitive?

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

Both the lower-case and upper-case S of the word String are acceptable and this seems to be the only object that allows this.

Can anyone explain why?

like image 330
GateKiller Avatar asked Aug 13 '08 12:08

GateKiller


1 Answers

string is a language keyword while System.String is the type it aliases.

Both compile to exactly the same thing, similarly:

  • int is System.Int32
  • long is System.Int64
  • float is System.Single
  • double is System.Double
  • char is System.Char
  • byte is System.Byte
  • short is System.Int16
  • ushort is System.UInt16
  • uint is System.UInt32
  • ulong is System.UInt64

I think in most cases this is about code legibility - all the basic system value types have aliases, I think the lower case string might just be for consistency.

like image 61
Keith Avatar answered Sep 25 '22 01:09

Keith