[C#] 3.4 string

C#에서는 문자열을 string 형식으로 제공하고 있으며 이는 .NET Framework에서 제공하는 System.String 형식을 C#에서 부르는 형식 이름입니다. string은 참조 형식임에도 값 형식처럼 사용할 수 있습니다.

string 개체를 생성하는 방법은 여러 가지가 있습니다. 그중에서 자주 사용되는 몇 가지를 나열한다면 다음과 같습니다.

▶string 개체 생성하는 방법

string 형식의 변수를 선언하고 초기화하지 않으면 null을 기본값으로 갖습니다. string 형식의 변수를 선언할 때 초기화를 하지 않는 것은 많은 응용 개발 시에 논리적 버그가 발생하여 개발 비용이 늘어나는 원인이 될 수 있습니다. 될 수 있으면 string 형식의 변수는 선언과 동시에 초기화를 해 주시기 바랍니다. 마땅히 초기화할 값이 없을 때는 string 클래스의 정적 멤버인 Empty를 사용하시기 바랍니다.

 

string 형식에서는 == 연산자와 != 연산자는 값 형식처럼 문자 컬렉션이 같은지를 판단합니다.

▶ string 형식의 ==연산자와 != 연산자

▶ 실행 결과

위의 코드를 실행하면 str1==str2의 결과가 True입니다. 실제 str1과 str2는 서로 다른 개체임에도 컬렉션 내용이 같은지를 가지고 판단하기 때문입니다. 물론, 참조하는 개체를 비교하는 string.ReferenceEquals 메서드를 호출한 결과는 False입니다.

string의 다른 비교 연산자들(<, <=, >, >=)은 제공하지 않습니다. 대신 멤버 메서드로 CompareTo를 제공함으로써 이를 대신할 수 있습니다.

string은 + 연산자를 사용하여 단일 문자열을 만들 수 있습니다.

특정 포맷에 맞는 문자열을 만들고자 한다면 string 클래스의 정적 메서드인 Format을 사용하면 됩니다.

이 외에도 string에는 다양한 멤버들을 제공하고 있어 다양한 작업을 할 수 있습니다.

 

다음은 문자열을 수정할 때 사용되는 메서드의 예제 코드입니다. 각 메서드에서는 원하는 작업을 수행한 결과 문자열을 반환하며 원본 문자열은 바뀌지 않습니다.

▶ 문자열 수정

▶ 실행 결과

 

string에서는 부분 문자열이 존재 여부를 확인하기 위한 메서드들과 위치를 찾아주는 메서드들을 통해 검색에 편의성을 제공하고 있습니다.

▶ 부분 문자열 검색

이 외에도 string 형식에서는 다양한 멤버들을 제공하고 있으니 사용해 보시기 바랍니다.