English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C# 문자열(String)

C#에서 문자열은 텍스트를 나타내는 일련의 문자입니다. 그것은 문자, 단어, 또는 쌍속호호 ""로 감싸진 장문일 수 있습니다. 다음은 문자열 리터럴입니다.

"S"
"String"
"This is a string."

C#는 문자열 리터럴을 저장하기 위해 String 데이터 타입을 제공합니다. 문자열 타입 변수를 선언하고 문자열 리터럴을 할당할 수 있습니다. 다음과 같이 합니다.

string ch = "S";
string word = "String";
string text = "This is a string.";

문자열 객체가 메모리에서 가장 큰 크기는2GB, 약10억 문자. 그러나 실제 응용 프로그램에서는 컴퓨터의 CPU와 메모리에 대한 의존성이 적습니다.

C#에서 문자열 변수를 선언하는 방법이 두 가지 있습니다. System.String 클래스와 string 키워드를 사용합니다. 둘은 동일하며 차이가 없습니다.

string str1 = "Hello"; // 문자열 키워드를 사용하여
 
String str2 = "Hello"; // System.String 클래스를 사용하여

C#에서 문자열은 문자의 집합이나 배열입니다. 따라서 문자 배열을 사용하여 문자열을 생성할 수 있으며, 문자 배열과 마찬가지로 문자열을 접근할 수 있습니다.

char[] chars = {'H','e','l','l','o'};
string str1 = new string(chars);  
String str2 = new String(chars); 
foreach (char c in str1)
{
    Console.WriteLine(c);
}

특수 문자

현실 세계의 텍스트는 어떤 문자든 포함할 수 있습니다. C#에서는 문자열이 쌍속호호 ""로 감싸져 있기 때문에 문자열 내에 ("를 포함할 수 없습니다. 다음은 컴파일 시 오류가 발생합니다.

string text = "This is a "string" in C#.";

C#은 이 특수 문자 전에 escape 문자 \\

쌍따옴표 앞에 반취리아스를 사용하고, 특수 문자(예: \

string text = "This is a \
string str = "xyzdef\\rabc";

그러나 각 특수 문자에 대해 \\

string str = @"xyzdef\rabc";
string path = @"\\mypc\shared\project";
string email = @"[email protected]";

@와 \\

string str = @"this is a \",
multi line \

string";

주의하세요. 문자열에서 반드시 반취리아스를 사용해야 하며, @는 C#의 특수 문자에만 적용됩니다.

string text = @"This is a \ // 에러
string text = @"This is a \ // 에러
string text = "This is a \ // 효과적

문자열 연결

여러 문자열은 + 연산자 연결.

string name = "Mr."; + "James " + "Bond" + "Code: 00"7";
 
string firstName = "James";
string lastName = "Bond";
string code = "007";
 
string agent = "Mr."; + firstName + "" + lastName + "Code: " + code;

문자열은 C#에서 불변입니다. 이는 읽기 전용이라는 의미로, 메모리에 생성되면 변경할 수 없습니다. 문자열을 연결할 때마다 .NET CLR는 연결된 문자열에 대한 새 메모리 위치를 생성합니다. 따라서 다섯 개 이상의 문자열을 연결할 때는 StringBuilder 대신 문자열을 사용하는 것이 좋습니다.

문자열 인터폴레이션

문자열 인터폴레이션은 문자열을 연결하는 더 나은 방법입니다. 우리는+시그널은 문자열 변수와 정적 문자열을 연결합니다.

C#6특수 문자 $를 포함한 문자열을 식별하는 데 사용됩니다. 인터폴레이션 문자열은 정적 문자열과 문자열 변수의 혼합으로, 문자열 변수는 {} 괄호 안에 위치해야 합니다.

string firstName = "James";
string lastName = "Bond";
string code = "007";
 
string fullName = "$"Mr. {firstName} {lastName}, Code: {code}";

위의 인터폴레이션 예제에서 $는 인터폴레이션의 문자열을 나타내며, {}는 문자열과 결합할 문자 변수를 포함합니다.

문자열에 { 또는 }를 포함하려면 두 개의 괄호 "{{" 또는 "}}"를 사용하십시오。