C#에서는 문자열을 처리하기 위해 System.String 클래스를 제공.
주로 사용되는 string은 System.String의 별칭으로 클래스와 완전 동일하다.
1. 문자열 선언 및 초기화
// 초기화 없이 단순 선언
string _message;
// null로 초기화
string _message = null;
// 빈 string 생성1
string _message = "";
// 빈 string 생성2(위 방법 말고 이방법이 메모리 측면에서 좋음!)
string _message = System.String.Empty;
// 문자열로 초기화
string _message = "Hello, World!";
// 문자배열
char[] _letters = { H, E, L, L, O };
// 문자배열을 통한 string 초기화
string _hello1 = new string(_letters);
// 문자배열의 시작부분과 찾을 숫자만큼을 골라내서 초기화
string _hello2 = new string(_letters, 1, 3);
// 출력결과 ( E, L, L )
// 입력한 문자를 n번 반복하여 string 초기화
string _hello3 = new string('H', 3);
// 출력결과 ( H, H, H )
일반적으로 문자열을 선언하고 초기화 하는 방법들이다.
이외에도 다른 방법들이 있겠지만 필자의 지식수준으로는 한계가 있어 일단 이 정도로 남긴다.
2. string의 메서드
이외에도 수많은 메서드가 있지만 뭔가 자주쓸 것 같을 것들로만 구성했다 (주관적임. 신빙성 0)
메서드 | 설명 | 예시 |
ToCharArray() | 스트링배열을 문자배열로 전환 | string a = "hello"; char[] b = a.ToCharArray(); |
PadLeft( num ) / PadRight( num ) |
문자열의 크기를 num만큼 늘리고 남은 수만큼 왼쪽/오른쪽에 공백 생성 | string a = "hello"; a.PadLeft(7) // " hello"(왼쪽 공백2칸) a.PadRight(7) // "hello "(오른쪽 공백2칸) |
IndexOf( 문자열 ) | 찾을문자의 가장 먼저 나오는 위치를 반환 (없을 경우 -1 반환) |
string a = "hello"; a.IndexOf("l") // 2 |
LastIndexOf( 문자열 ) | 찾을문자의 가장 나중에 나오는 위치를 반환 (없을 경우 -1 반환) |
string a = "hello"; a.LastIndexOf("l") // 3 |
Contains( 문자열 ) | 찾을문자가 string 내에 있다면 true를 반환 | string a = "hello"; a.Contains("a") // false |
Remove( n1, n2 ) | string의 n1번째 문자부터 n2개의 문자를 삭제 | string a = "hello"; a.Remove(2,1) // "heo" |
Insert ( n, 문자열 ) | string의 n번째문자 뒤에 문자열을 삽입 | string a = "hello"; a.Insert(1, "ii") // "heiillo" |
Replace ( 문자열1, 문자열2) | string 내의 문자열1을 문자열2로 전부 변환 | string a = "hello"; a.Replace("l", "a") // "heaao" |
** 틀린 정보가 있다면 댓글로 알려주시면 감사하겠습니다. **
'C# 공부' 카테고리의 다른 글
[C#] 가비지 컬렉터 (Garbage Collector) (1) | 2025.04.11 |
---|---|
[C#] 소숫점 반올림, 올림, 내림 (Mathf.Round /Mathf.Ceil / Mathf.Floor) (0) | 2025.03.30 |
[C#] 스트링빌더 (StringBuilder) (1) | 2025.03.15 |
인터페이스(Interface) (1) | 2024.11.15 |