string(C# 참조)

업데이트: 2007년 11월

string 형식은 0개 이상의 유니코드 문자로 구성된 시퀀스를 나타냅니다. string은 .NET Framework에서 String의 별칭입니다.

string은 참조 형식이지만 같음 연산자(== 및 !=)는 참조가 아니라 string 개체의 값을 비교하도록 정의되어 있으므로 좀 더 쉽게 문자열을 비교할 수 있습니다. 예를 들면 다음과 같습니다.

string a = "hello";
string b = "h";
// Append to contents of 'b'
b += "ello";
Console.WriteLine(a == b);
Console.WriteLine((object)a == (object)b);

이 코드는 문자열의 내용이 동일하므로 "True"를 표시한 다음 "False"를 표시하지만 a와 b는 동일한 문자열 인스턴스를 가리키지 않습니다.

+ 연산자는 문자열을 연결합니다.

string a = "good " + "morning";

이 코드는 "good morning"이라는 내용이 포함된 문자열 개체를 만듭니다.

문자열은 변경할 수 없습니다. 즉, 구문을 보면 문자열 개체를 만든 후 이 개체의 내용을 변경할 수 있는 것처럼 보이지만 이는 가능하지 않습니다. 예를 들어, 다음 코드를 작성하면 컴파일러에서는 새 문자 시퀀스가 있는 새 문자열 개체를 만들며 변수 b는 계속해서 "h"를 포함합니다.

string b = "h";
b += "ello";

[] 연산자는 string의 개별 문자에 읽기 전용으로 액세스하는 데 사용할 수 있습니다.

string str = "test";
char x = str[2];  // x = 's';

문자열 리터럴은 string 형식이며 따옴표 붙은 형식과 @-따옴표 붙은 형식의 두 가지 형태로 작성할 수 있습니다. 따옴표 붙은 문자열 리터럴은 다음과 같이 큰따옴표(")로 묶습니다.

"good morning"  // a string literal

문자열 리터럴에는 다음과 같이 이스케이프 시퀀스를 포함한 모든 문자 리터럴이 포함될 수 있습니다.

string a = "\\\u0066\n";

이 문자열에는 백슬래시, 문자 f 및 새 줄이 포함되어 있습니다.

참고:

이스케이프 코드 \udddd는 유니코드 문자 U+dddd를 나타냅니다. 여기서 dddd는 네 자리 숫자입니다. \udddd\udddd와 같은 여덟 자리 유니코드 이스케이프 코드도 사용할 수 있습니다.

약어 문자열 리터럴은 @로 시작하며 큰따옴표로 묶습니다. 예를 들면 다음과 같습니다.

@"good morning"  // a string literal

약어 문자열의 이점은 이스케이프 시퀀스를 처리하지 않기 때문에 다음과 같이 정규화된 파일 이름 등을 쉽게 작성할 수 있다는 것입니다.

@"c:\Docs\Source\a.txt"  // rather than "c:\\Docs\\Source\\a.txt"

@-따옴표 붙은 문자열에 큰따옴표를 포함시키려면 다음과 같이 큰따옴표를 두 번 입력합니다.

@"""Ahoy!"" cried the captain." // "Ahoy!" cried the captain.

또한 @ 기호는 C# 키워드인 참조된 식별자(/reference)를 사용하는 데 유용합니다.

C#의 문자열에 대한 자세한 내용은 문자열(C# 프로그래밍 가이드)을 참조하십시오.

예제

class SimpleStringTest 
{
   static void Main()
   {
      string a = "\u0068ello ";
      string b = "world";
      Console.WriteLine( a + b );
      Console.WriteLine( a + b == "Hello World" ); // == performs a case-sensitive comparison
   }
}
/* Output:
    hello world
    False
 */

C# 언어 사양

자세한 내용은 C# 언어 사양의 다음 단원을 참조하십시오.

  • 2.4.2 식별자

  • 2.4.4.5 문자열 리터럴

  • 4.2.3 문자열 형식

  • 7.9.7 문자열 같음 연산자

참고 항목

개념

C# 프로그래밍 가이드

C# 프로그래밍 가이드

참조

C# 키워드

참조 형식(C# 참조)

값 형식(C# 참조)

기타 리소스

C# 참조

숫자 결과 형식 지정 표(C# 참조)