Favicon

String type

Peponi11/22/20244m

C#
SyntaxTypestring

1. Introduction

string0자 이상의 유니코드 (char, UTF-16) 문자 시퀀스를 나타낸다. .NET 형식은 System.String이다. string 객체의 최대 크기는 2GB, 약 10억 자이며 내용을 변경할 수 없다.

여기서는 기본적인 내용만 알아본다. string을 다루는 자세한 방법은 아래 링크를 참조한다.

2. string 초기화

아래와 같은 방법으로 string을 초기화 할 수 있다.

String literal
string string1 = "Sample string";
string string2 = @"Sample Path : C:\Temp\SampleText.txt";
string string3 = "Sample Path : C:\\Temp\\SampleText.txt";
From char
char[] chars = { 'A', 'B', 'C' };
string string4 = new string(chars);
Repeated string
string string5 = new string('A', 5);
From bytes
byte[] bytes = { 0x41, 0x42, 0x43 };    // { A, B, C }
string string6 = Encoding.Default.GetString(bytes);
Raw string literal (C# 11)
string string7 = """This is "Raw string literal".""";
string jsonString = """
    {
        "SampleValue": 1
    }
    """;

3. string 연산

string은 비교 2가지 (==, !=) 및 + 연산자를 제공한다. 비교 연산자는 다른 참조 형식과는 다르게 값을 비교하도록 정의되어 있으며 + 연산자는 두 문자열을 연결한다.

string test1 = "ABC";
string test2 = "AB";
 
Console.WriteLine(test1 == test2);                                    // False
Console.WriteLine(object.ReferenceEquals(test1, test2));    // False
 
test2 += "C";   // 기존에 할당된 문자열은 버려지고 (AB), 새 문자열이 test2에 할당된다 (ABC)
 
Console.WriteLine(test1 == test2);                                    // True
Console.WriteLine(object.ReferenceEquals(test1, test2));    // False

string인덱서 연산자[] 또한 지원한다.

string test1 = "ABC";
 
Console.WriteLine(test1[0]);     // A
Console.WriteLine(test1[1]);     // B
Console.WriteLine(test1[2]);    // C

4. string 유효성 검사

stringnull, (공백) 등의 값을 가질 수 있고, 이는 유효하지 않은 값이 될 수 있다. 아래는 string이 유효한 값을 가지고 있는지 파악하는 방법이다.

string.IsNullOrEmpty(string)
// string 값이 null 또는 string.Empty인 경우 True 반환
 
bool isValid = string.IsNullOrEmpty(string.Empty);     // True
isValid = string.IsNullOrEmpty(null);                         // True
isValid = string.IsNullOrEmpty(" ");                          // False
isValid = string.IsNullOrEmpty("ABC");                     // False
string.IsNullOrWhiteSpace(string)
// string 값이 null 또는 string.Empty, whitespace (공백 문자) 인 경우 True 반환
 
bool isValid = string.IsNullOrWhiteSpace(string.Empty);     // True
isValid = string.IsNullOrWhiteSpace(null);                          // True
isValid = string.IsNullOrWhiteSpace(" ");                           // True
isValid = string.IsNullOrWhiteSpace("ABC");                      // False

TIP

공백 문자 ( ) 가 유효한 문자인 경우도 있다. 필요에 맞게 사용하도록 한다.

5. 참조 자료