산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C# 문자열 마스터하기: 모범 사례와 핵심 팁 총정리

C#에서 문자열은 문자 배열로 사용할 수 있지만, 더 일반적인 방법은 string 키워드를 사용하여 문자열 변수를 선언하는 것입니다. string 키워드는 System.String 클래스의 별칭(alias)입니다.

문자열 객체 생성 방법

다음 방법들로 문자열 객체를 생성할 수 있습니다.

종합 예제

using System;
namespace StringApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            // 1. 문자열 리터럴과 연결 연산자
            string fname = "Rowan";
            string lname = "Atkinson";
            string fullname = fname + lname;
            Console.WriteLine("Full Name: {0}", fullname);  // RowanAtkinson
            
            // 2. 문자 배열로 생성자 호출
            char[] letters = { 'H', 'e', 'l', 'l', 'o' };
            string greetings = new string(letters);
            Console.WriteLine("Greetings: {0}", greetings);  // Hello
            
            // 3. 메서드 반환 문자열 (Join)
            string[] sarray = { "Hello", "From", "Tutorials", "Point" };
            string message = String.Join(" ", sarray);
            Console.WriteLine("Message: {0}", message);  // Hello From Tutorials Point
            
            // 4. 서식 지정 메서드 (Format)
            DateTime waiting = new DateTime(2012, 10, 10, 17, 58, 1);
            string chat = String.Format("Message sent at {0:t} on {0:D}", waiting);
            Console.WriteLine("Message: {0}", chat);  
            // Message sent at 5:58 PM on Wednesday, October 10, 2012
        }
    }
}

String 클래스 속성

번호속성 및 설명
1Chars
현재 String 객체의 지정된 위치에 있는 Char 객체를 가져옵니다. (인덱서로 str[i] 사용 가능)
2Length
현재 String 객체의 문자 수를 가져옵니다.

String 클래스 주요 메서드

String 클래스는 문자열 작업을 돕는 수많은 메서드를 제공합니다. 가장 자주 사용되는 메서드들을 정리했습니다.

번호메서드 및 설명
1Compare(strA, strB) - 두 문자열 비교, 정렬 순서상 상대 위치 반환
2Compare(strA, strB, ignoreCase) - 대소문자 무시 옵션 포함 비교
3Concat(str0, str1) - 두 문자열 연결
4Concat(str0, str1, str2) - 세 문자열 연결
5Concat(str0, str1, str2, str3) - 네 문자열 연결
6Contains(value) - 지정된 문자열이 포함되는지 확인 (bool)
7Copy(str) - 지정된 문자열과 같은 값의 새 String 객체 생성
8CopyTo(sourceIndex, dest, destIndex, count) - 문자 복사
9EndsWith(value) - 지정된 문자열로 끝나는지 확인
10Equals(value) - 현재 문자열과 지정된 문자열 값이 같은지 확인
11Equals(a, b) - 두 문자열 값이 같은지 정적 메서드로 확인
12Format(format, arg0) - 서식 항목을 객체의 문자열 표현으로 치환
13IndexOf(char) - 지정된 문자의 첫 번째 출현 인덱스 반환
14IndexOf(string) - 지정된 문자열의 첫 번째 출현 인덱스 반환
15IndexOf(char, startIndex) - 지정된 위치부터 문자 검색
16IndexOf(string, startIndex) - 지정된 위치부터 문자열 검색
17IndexOfAny(char[]) - 배열의 아무 문자나 처음 나오는 위치
18IndexOfAny(char[], startIndex) - 지정된 위치부터 위 검색
19Insert(startIndex, value) - 지정된 위치에 문자열 삽입하여 새 문자열 반환
20IsNullOrEmpty(value) - null 또는 빈 문자열인지 확인 (정적)
21Join(separator, params string[]) - 구분자로 문자열 배열 요소 연결
22Join(separator, string[], startIndex, count) - 지정된 요소만 연결
23LastIndexOf(char) - 지정된 문자의 마지막 출현 인덱스
24LastIndexOf(string) - 지정된 문자열의 마지막 출현 인덱스
25Remove(startIndex) - 지정된 위치부터 끝까지 제거
26Remove(startIndex, count) - 지정된 위치부터 지정된 개수만큼 제거
27Replace(oldChar, newChar) - 모든 구문자/문자열 치환하여 새 문자열 반환
28Replace(oldValue, newValue) - 모든 부분 문자열 치환
29Split(params separator[]) - 구분자로 분할하여 문자열 배열 반환
30Split(separator, count) - 최대 부분 문자열 수 제한 분할
31StartsWith(value) - 지정된 문자열로 시작하는지 확인
32ToCharArray() - 유니코드 문자 배열로 변환
33ToCharArray(startIndex, length) - 지정된 범위를 문자 배열로 변환
34ToLower() - 소문자로 변환한 복사본 반환
35ToUpper() - 대문자로 변환한 복사본 반환
36Trim() - 앞뒤 공백 문자 제거
참고: 전체 메서드 목록은 Microsoft 공식 문서(MSDN)를 참조하세요.

실전 예제

문자열 비교

string str1 = "This is test";
string str2 = "This is text";

if (String.Compare(str1, str2) == 0)
    Console.WriteLine("같음");
else
    Console.WriteLine("다름");  // 출력: 다름

문자열 포함 여부 확인

string str = "This is test";
if (str.Contains("test"))
    Console.WriteLine("'test' 시퀀스가 발견됨.");  // 출력됨

부분 문자열 추출 (Substring)

string str = "Last night I dreamt of San Pedro";
Console.WriteLine(str);           // 원본 출력
string substr = str.Substring(23); // 23번 인덱스부터 끝까지
Console.WriteLine(substr);        // San Pedro

문자열 배열 연결 (Join)

string[] starray = {
    "Down the way nights are dark",
    "And the sun shines daily on the mountain top",
    "I took a trip on a sailing ship",
    "And when I reached Jamaica",
    "I made a stop"
};
string str = String.Join("\n", starray);
Console.WriteLine(str);
성능 팁: 반복적인 문자열 연결 시 StringBuilder 클래스(System.Text)를 사용하세요. string은 불변(immutable)이라 연결할 때마다 새 객체가 생성됩니다.

C 언어

  1. C# 클래스와 객체: 견고한 OOP를 위한 기초 다지기
  2. C# 문자열(String) 마스터: 기초, 연산, 고급 기법 총정리
  3. Java String 마스터하기: 생성, 메서드, 모범 사례
  4. Java 싱글톤 패턴 완벽 가이드: 안전하게 구현하고 사용하기
  5. Java Enum 문자열 표현 마스터: 기본값, 오버라이딩, 고급 패턴
  6. C++ 문자열 함수 마스터: strcpy, strcat, strlen, strcmp 실전 예제
  7. C 문자열 완전 정복: 선언, 입출력, 라이브러리 함수
  8. Python 문자열 연산 마스터하기: replace, join, split, reverse, 대소문자 변환
  9. Java Strings 클래스: 문자열 생성 및 조작 마스터하기
  10. 자바 객체 직렬화: 객체 영속화와 복원