26

Newbie here, in C# what is the difference between the upper and lower case String/string?

Nalaka526
  • 10,740
  • 21
  • 78
  • 115

8 Answers8

35

String uses a few more pixels than string. So, in a dark room, it will cast a bit more light, if your code is going to be read with light-on-dark fonts. Deciding on which to use can be tricky - it depends on the price of lighting pixels, and whether your readership wants to cast more light or less. But c# gives you the choice, which is why it is all-around the best language.

U12-Forward
  • 65,118
  • 12
  • 70
  • 89
15

Nothing - both refer to System.String.

Andrew Hare
  • 333,516
  • 69
  • 632
  • 626
5

"String" is the underlying CLR data type (class) while "string" is the C# alias (keyword) for String. They are synonomous. Some people prefer using String when calling static methods like String.Format() rather than string.Format() but they are the same.

Scott Dorman
  • 41,316
  • 11
  • 76
  • 109
1

String is short version of System.String, the common type system (CTS) Type used by all .Net languages. string is the C# abbreviation for the same thing...

like

  • System.Int32 and int
  • System.Int16 and short,

etc.

Charles Bretana
  • 138,051
  • 22
  • 144
  • 212
1

An object of type "String" in C# is an object of type "System.String", and it's bound that way by the compiler if you use a "using System" directive, like so: using System; ... String s = "Hi"; Console.WriteLine(s); If you were to remove the "using System" statement, I'd have to write the code more explicitly, like so: System.String s = "Hi"; System.Console.WriteLine(s); On the other hand, if you use the "string" type in C#, you could skip the "using System" directive and the namespace prefix: string s = "Hi"; System.Console.WriteLine(s); The reason that this works and the reason that "object", "int", etc in C# all work is because they're language-specific aliases to underlying .NET Framework types. Most languages have their own aliases that serve as a short-cut and a bridge to the .NET types that existing programmers in those languages understand.

0

no difference. string is just synonym of String.

Alex Reitbort
  • 13,315
  • 1
  • 38
  • 61
0

string is an alias for String in the .NET Framework.

yusuf
  • 3,511
  • 4
  • 31
  • 38
0

String is type coming from .NET core (CLR).

string is C# type, that is translated to String in compiled IL.

Language types are translated to CLR types.

Dusan Kocurek
  • 455
  • 2
  • 8
  • 22