문자열. 개요.

문자열은 특정 순서의 문자 목록(또는 시퀀스)입니다. 전체 문자 시퀀스는 단일 개체로 처리됩니다.

키보드에서 한 번의 키 입력으로 입력할 수 있는 모든 문자(문자, 숫자, 역순) 슬래시 또는 기타 문자).
문자열에는 공백이 있을 수 있습니다: "Hello world!".
빈 문자열은 문자가 0개인 문자열입니다.
C sharp는 따옴표("") 안에 쓰여진 모든 것을 문자열로 받아들입니다. 문자열은 문자열 유형입니다.

기억해야 할 중요 사항: C#의 문자열은 변경할 수 없습니다.

입력 연산자를 사용하여 문자열에 새 값을 쓸 수 있습니다.
<예비> string s = Console.ReadLine(); 문자열 값을 변수에 할당할 수도 있습니다. 예를 들면 다음과 같습니다.< /스팬 > <예비> string s = "C 샤프" 다음과 같이 문자열의 길이를 정의할 수 있습니다. <예비> int n = s.Length;


문자열 비교 문자열은 숫자처럼 서로 비교할 수 있습니다. 어떤 라인이 더 크고 더 작은지 결정할 수 있습니다.

문자열을 비교할 때 문자 코드가 비교됩니다. 수백은 아니더라도 수십 개의 문자 인코딩이 있습니다. 이 개념을 이해하는 가장 쉬운 방법은 가장 단순한 ASCII 중 하나를 이해하는 것입니다( 여기<에서 읽을 수 있음) /a>) . 
현대 인코딩에서는 러시아어와 영어 문자가 모두 알파벳 순서로 배열되고 숫자도 작은 것에서 큰 것으로 이동한다는 것을 이해해야 합니다. 
예를 들어 아스키 코드표에서 영문자 'A'에 대한 코드는 - 65, 문자 'a' - 97, 숫자 '0' 코드는 48입니다. 러시아어 문자는 ASCII 코드 테이블의 확장 부분(128에서 255까지의 숫자)에 있습니다. 대문자는 소문자보다 앞에 옵니다(즉, 작은 코드를 가집니다).
사용되는 대부분의 인코딩 테이블에서 패턴은 동일하고, 소문자는 대문자보다 늦고, 숫자는 문자보다 빠르며, 러시아어는 영어보다 늦습니다.
문자나 문자열을 비교할 때 C#은 문자를 해당 서수 값으로 변환한 다음 왼쪽에서 오른쪽으로 비교합니다. 

예: <코드> ​​"기관차" < "steamboat", 단어의 다섯 번째 글자와 "in"이 다르기 때문입니다. < "x".

문자열을 입력할 때 임의의 구분 기호로 즉시 부분으로 나눌 수 있습니다.
같은 줄에 여러 숫자 변수를 입력하기 전에 이 작업을 수행했습니다. Split() 메서드를 사용하여 문자열을 부분으로 분할했습니다. 기본적으로 문자열을 공백으로 하위 문자열로 구분합니다.
이 방법을 사용하면 문자열을 예를 들어 공백으로 여러 부분으로 나눌 수 있습니다. 그리고 문자열의 각 부분을 별도의 변수에 씁니다.
예: <예비> string[] S = Console.ReadLine().Split(); 예제에서 공백으로 구분된 두 단어를 입력할 때 첫 번째 단어는 s[0] 배열의 0 요소에, 두 번째 -는 두 번째 s[1]에 저장됩니다.

여러 문자를 구분 기호로 사용해야 하는 경우 쉼표로 구분하여 지정할 수 있습니다.
  <예비> string[] S = Console.ReadLine().Split(new[] { ' ', '\n' });  입력 문자열에 여러 연속 공백이 있을 수 있는 경우 최종 배열에도 공백이 나타날 수 있습니다. 이를 제외하려면 매개변수를 추가해야 합니다. <예비> string[] S = Console.ReadLine().Split(new[] { ' ', '\n' }, StringSplitOptions.RemoveEmptyEntries); 하위 문자열 구분 기호를 사용해야 하는 경우: <예비> string[] S = Console.ReadLine().Split(new[] { "\\r\\n", "\r", "\n", "" }, StringSplitOptions.RemoveEmptyEntries);

"+" 기호를 사용하여 문자열을 함께 추가할 수 있습니다. 이 작업을 문자열 연결 또는 연결이라고 합니다. 
예를 들어  <예비> 문자열 s = "안녕하세요,"; 문자열 s1 = "세계"; Console.WriteLine(s + s1); 화면에 "Hello world"라는 문구가 표시됩니다. (따옴표 제외).
 

행 인덱스 참조
문자열의 각 문자에는 숫자( 인덱스라고 함)가 있으며 C# 프로그래밍 언어의 인덱싱은 0부터 시작합니다. 즉, 첫 번째 문자는 인덱스 0, 두 번째 - 1 등의 인덱스를 가집니다.
문자열 문자는 대괄호 s[i]로 표시되는 색인으로 액세스할 수 있습니다.
 
예 
<몸>
중요!
인덱스 i에서 문자열 요소에 액세스할 때 s[i] 유형은 string이 아니라 char입니다. 이는 문자열이 아니라 문자 코드 테이블의 일부 정수에 해당하는 문자임을 의미합니다. 특히 char  유형의 두 요소를 추가하면 이러한 요소의 코드를 더한 정수를 얻습니다. 그러나 s[i]를 표시하면 문자열의 i번째 문자가 표시되고 해당 숫자는 표시되지 않습니다. 

문자열 S H e l l o
색인 S[0] S[1] S[2] S[3] S[4]
인덱스로 문자에 액세스할 수 있으므로 변수 루프를 사용하여 모든 문자를 반복할 수 있습니다. , 가능한 인덱스 값을 사용합니다. 예를 들어 문자열 s 의 모든 문자 코드를 표시하는 프로그램은 다음과 같습니다. <예비> for (int i = 0; i < s.Length; i++) {   Console.WriteLine(s[i]); Console.WriteLine(Convert.ToInt32(s[i])); } 프로그램 참고 사항:
1) s.Length 문자열의 길이를 찾습니다. 첫 번째 문자의 인덱스는 0이고 마지막 문자의 인덱스는 s.Length-1입니다. 루프 변수 i는 0에서
s.Length
-1;
2) 각 줄에 기호 자체가 먼저 표시되고  Convert.ToInt32();
메서드를 통해 얻을 수 있는 코드가 표시됩니다.
동일한 열거형을 더 짧게 작성할 수 있습니다.


foreach(s의 문자 c)

    Console.WriteLine(c);
    Console.WriteLine(Convert.ToInt32(c));
} <예비> 이 스니펫에서 루프 헤더는 모든 을 통해 반복됩니다. 문자를 하나씩 변수 c에 넣습니다. 문자열로 작업할 때 C#의 특징은 문자열이 불변 객체라는 것입니다. 즉, 문자열의 개별 문자를 변경할 수 없습니다.
예를 들어 다음 문은 작동하지 않습니다.
<예비> s[5]=" ";