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

C# 문자열(String) 마스터: 기초, 연산, 고급 기법 총정리

C# 문자열(String) 마스터: 기초, 연산, 고급 기법

이 튜토리얼에서는 예제와 함께 C# 문자열과 그 메서드를 학습합니다.

C#에서 문자열은 문자 시퀀스입니다. 예: "hello"는 'h', 'e', 'l', 'l', 'o' 문자 시퀀스 포함.

string 키워드로 문자열 생성. 예:

// 문자열 생성
string str = "C# Programming";

str이라는 string 생성, 텍스트 "C# Programming" 할당. C#에서 문자열은 큰따옴표로 표현.


예제: C# 문자열 생성

using System;
namespace CsharpString {
    class Test {
        public static void Main(string[] args) {
            // 문자열 생성
            string str1 = "C# Programming";
            string str2 = "Programiz";
            // 출력
            Console.WriteLine(str1);
            Console.WriteLine(str2);
            Console.ReadLine();
        }
    }
}

출력

C# Programming
Programiz

str1, str2 두 문자열 생성 후 출력.

참고: C# 문자열 변수는 int, char 같은 기본 타입이 아님. String 클래스 객체임.


문자열 연산 (String Operations)

C# 문자열은 다양한 메서드로 여러 연산 제공. 자주 쓰이는 연산 살펴보기.

1. 문자열 길이 구하기

문자열 길이 구하려면 Length 속성 사용. 예:

using System;
namespace CsharpString {
    class Test {
        public static void Main(string[] args) {
            string str = "C# Programming";
            Console.WriteLine("string: " + str);
            // str 길이 구하기
            int length = str.Length;
            Console.WriteLine("Length: " + length);
            Console.ReadLine();
        }
    }
}

출력

string: C# Programming
Length: 14

Length 속성이 문자열 총 문자 수 계산 반환.


2. 두 문자열 결합 (Join)

두 문자열 결합에 Concat() 메서드 사용. 예:

using System;
namespace CsharpString {
    class Test {
        public static void Main(string[] args) {
            string str1 = "C# ";
            Console.WriteLine("string str1: " + str1);
            string str2 = "Programming";
            Console.WriteLine("string str2: " + str2);
            // 두 문자열 결합
            string joinedString = string.Concat(str1, str2);
            Console.WriteLine("Joined string: " + joinedString);
            Console.ReadLine();
        }
    }
}

출력

string str1: C#
string str2: Programming
Joined string: C# Programming

Concat() 메서드가 str1, str2 결합해 joinedString에 할당.

+ 연산자로도 결합 가능. 더 보기: C# string Concat.


3. 두 문자열 비교

C#에서 Equals() 메서드로 두 문자열 비교. 같으면 true, 다르면 false 반환. 예:

using System;
namespace CsharpString {
    class Test {
        public static void Main(string[] args) {
            string str1 = "C# Programming";
            string str2 = "C# Programming";
            string str3 = "Programiz";
            // str1, str2 비교
            Boolean result1 = str1.Equals(str2);
            Console.WriteLine("string str1 and str2 are equal: " + result1);
            // str1, str3 비교
            Boolean result2 = str1.Equals(str3);
            Console.WriteLine("string str1 and str3 are equal: " + result2);
            Console.ReadLine();
        }
    }
}

출력

string str1 and str2 are equal: True
string str1 and str3 are equal: False

str1, str2, str3 세 문자열 생성. Equals()로 동일 여부 확인.


문자열 객체 불변성 (Immutability)

C#에서 문자열은 불변(Immutable)입니다. 한 번 생성하면 변경 불가.

이해 예시:

// 문자열 생성
string str = "Hello ";

str 변수가 "Hello " 문자열 보유.

이제 str 변경 원함:

// "World" 추가
str = string.Concat(str, "World");

Concat()로 "World"를 이전 str에 추가.

불변인데 어떻게 수정 가능할까? 실제로는:

  1. C#이 "Hello " 값 취득.
  2. "World" 추가해 새 문자열 생성.
  3. 값 "Hello World" 가진 새 문자열 객체 생성, str에 저장.
  4. 원본 "Hello "는 다른 변수 참조 없으면 가비지 컬렉션 대상.

문자열 이스케이프 시퀀스 (Escape Sequences)

이스케이프 문자는 문자열 내 특정 문자 이스케이프용. 특수 문자 삽입에 사용.

큰따옴표를 문자열 안에 포함해야 할 때:

// 큰따옴표 포함 시도
string str = "This is the "String" class";

문자열은 큰따옴표로 감싸므로 컴파일러가 "This is the "까지만 문자열로 인식, 에러 발생.

이스케이프 문자 \"로 해결:

// 이스케이프 문자 사용
string str = "This is the \"String\" class.";

\를 큰따옴표 앞에 붙여 문자열 내 포함.

주요 C# 이스케이프 시퀀스:

이스케이프 시퀀스문자 이름
\'작은따옴표
\"큰따옴표
\\백슬래시
\0널
\n줄바꿈
\t수평 탭

문자열 보간 (String Interpolation)

C#에서 문자열 보간으로 변수 문자열 내 삽입 가능. 문자열 리터럴은 $ 문자로 시작. 예:

using System;
namespace CsharpString {
    class Test {
        public static void Main(string[] args) {
            string name = "Programiz";
            // 문자열 보간
            string message = $"Welcome to {name}";
            Console.WriteLine(message);
            Console.ReadLine();
        }
    }
}

출력

Welcome to Programiz

name 변수 message 문자열 내 삽입.

string message = $"Welcome to {name}";

주의:


C# 문자열 메서드 (Methods of C# string)

다양한 문자열 메서드 중 주요 것들:

메서드설명
Format()서식 지정된 문자열 반환
Split()문자열을 부분 문자열로 분할
Substring()부분 문자열 반환
Compare()문자열 객체 비교
Replace()지정된 옛 문자 새 문자로 치환
Contains()부분 문자열 포함 여부 확인
Join()지정 구분자로 문자열들 결합
Trim()앞뒤 공백 제거
EndsWith()주어진 문자열로 끝나는지 확인
IndexOf()지정 문자 위치 반환
Remove()문자열에서 문자 제거
ToUpper()대문자 변환
ToLower()소문자 변환
PadLeft()왼쪽 패딩(공백/지정 문자)
PadRight()오른쪽 패딩
StartsWith()주어진 문자열로 시작하는지 확인
ToCharArray()char 배열로 변환
LastIndexOf()지정 문자열 마지막 출현 인덱스

자주 묻는 질문 (FAQ)

1. C#에서 문자열 배열 어떻게 생성?

데이터 타입 배열과 동일. 예:

using System;
namespace CsharpString {
    class Test {
        public static void Main(string[] args) {
            // 문자열 타입 배열
            string[] animals = {"Monkey", "Dog", "Cat"};
            // 요소 출력
            Console.WriteLine(animals[0]);
            Console.WriteLine(animals[1]);
            Console.WriteLine(animals[2]);
            Console.ReadLine();
        }
    }
}

출력

Monkey
Dog
Cat

2. C#에서 string과 String 차이?

기술적 차이 없음. C#에서 string은 System.String 별칭.

string 사용 권장: using System; 없이도 작동.

C 언어

  1. Java String 마스터하기: 생성, 메서드, 모범 사례
  2. Java Enum 문자열 표현 마스터: 기본값, 오버라이딩, 고급 패턴
  3. C++ 문자열 함수 마스터: strcpy, strcat, strlen, strcmp 실전 예제
  4. C 문자열 완전 정복: 선언, 입출력, 라이브러리 함수
  5. Java String.charAt() 완전 이해: 문법, 반환타입, 예외, 실전 예제
  6. Java String.endsWith() 마스터: 문자열 접미사 확인 예제
  7. Python strip() 메서드 완전 정복: 종합 가이드와 실전 예제
  8. Python str.count() 마스터하기: 문자 및 부분문자열 개수 세기 예제
  9. Python format() 문자열 마스터하기: 명확한 예제로 완전 정복
  10. Python len() 함수: 객체 길이 측정 실전 가이드