[C#] string과 String의 차이점
C# 언어 명세, 또는 클래스 기반에 대한 명확한 개념이 없어서 string과 String을 자주 혼동합니다.
string은 System.String 클래스의 별칭입니다. 다음 두가지 문자열 변수 선언은 같습니다.
string str1 = "문자열";
String str2 = "문자열";
대문자 "String"으로 선언하는 것은 "System.String" 클래스 타입으로 선언하는 것과 같습니다.
명시적으로 문자열 클래스의 메소드에 접근하는 것을 표현하고 싶을 때 대문자 "String"을 사용해서 클래스 메소드로 접근하는 것을 구분해 표현하기도 합니다.
string message = String.Format("Good morning {0}.", name);
문자열 변수를 선언하는 string 뿐만 아니라 int 또한 System.Int32의 별칭입니다.
C#에는 이렇게 별칭으로 데이터 타입 클래스를 가리키는 별칭을 여러 개 제공합니다.
bool: System.Boolean
byte: System.Byte
char: System.Char
decimal: System.Decimal
double: System.Double
float: System.Single
int: System.Int32
long: System.Int64
object: System.Object
sbyte: System.SByte
short: System.Int16
string: System.String
uint: System.UInt32
ulong: System.UInt64
ushort: System.UInt16