26

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

Nalaka526
  • 10,062
  • 20
  • 77
  • 115

8 Answers8

34

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.

U11-Forward
  • 41,703
  • 9
  • 50
  • 73
15

Nothing - both refer to System.String.

Andrew Hare
  • 320,708
  • 66
  • 621
  • 623
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
  • 40,345
  • 11
  • 74
  • 107
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
  • 131,932
  • 22
  • 140
  • 207
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,061
  • 1
  • 36
  • 60
0

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

yusuf
  • 3,471
  • 3
  • 30
  • 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
  • 465
  • 2
  • 8
  • 22