기본 데이터 형식 중 하나인 char는 영문자, 숫자, 한글 등 UTF-16으로 코딩된 문자 하나를 저장 할 수 있다.
예를 들어 char는 'A', '1', '가' 와 같은 값을 저장할 수 있다.
이때 문자 하나를 표시하는 방법은 홑 따옴표, 즉 single quote(') 를 사용하는 것이다.
C#뿐 아니라 많은 코딩 언어에서 A와 'A'와 "A"는 완전히 다른 의미를 갖는다.
'A'는 문자 char,
"A"는 문자열 string
을 의미한다.
C#에서 한글도 변수명으로 사용될 수 있기 때문에 가, '가', "가" 도 마찬가지고,
1과 '1'과 "1"도 완전히 다르게 처리된다.
1은 숫자 '1' 는 문자(char)과 "1"은 문자열(string) 이다.
문자 하나보다는 여러 문자들이 모여야 의미를 갖는 경우가 많기 때문에 문자를 연결한 문자열을 많이 사용한다.
"가나다", "ABCD","123" 등은 모두 문자열에 해당한다.
문자열을 표시하는 방법은 겹 따옴표 즉, double quote(")를 사용하는 것이다.
C#에서 문자열을 저장하기 위해서는 string 형식의 변수를 사용한다.
string은 System.String의 별칭이므로 대문자로 시작하는 String을 써도 똑같이 인식된다.
string의 특징
string의 개별 문자에 대한 읽기 전용 액세스를 위해 [] 연산자를 사용할 수 있다.
string의 개별 문자를 배열과 같이 [] 연산자와 0부터 시작하는 인덱스를 이용하여 사용할 수 있다.
string str = "test";
char x = str[2]; // x = 's';
백슬러시(\) 뒤에 한 문자나 숫자가 오는 문자 조합을 "이스케이프 시퀀스" 라고 한다.
줄바꿈 문자 ('\n'), 따옴표('\"), 탭('\t') 또는 문자 상수의 다른 특정 문자를 나타내려면 이스케이프 시퀀스를 사용해야한다.
이스케이프 시퀀스는 단일 문자로 간주되고 콘솔에 백슬러시 (\)를 출력하고 싶다면 백슬러시 두개 (\\)를 써야한다.
이유는 백슬러시 1개 (\)는 이스케이프 시퀀스의 시작을 알리는 용도 이기 때문이다.
string b = @"c:\Docs\Source\a.txt"; //"c:\\Docs\\Source\\a.txt" 와 동일
Console.WritieLine(@"abc\nabc"); //"abx\nabc"라고 출력
string 타입의 변수에 사용되는 연산자
연산자 | 사용 예 | 의미 |
== | a == b | string a와 b가 같다. |
!= | a != b | string a와 b가 같지 않다. |
+ | a + b | string a와 b를 연결한다. |
namespace A005_String_031
{
internal class A005_String_031
{
static void Main(string[] args)
{
string a = "hello";
string b = "h";
b = b + "ello";
Console.WriteLine(a == b);
Console.WriteLine("b = " + b);
int x = 10;
string c = b + '!' + " " + x;
Console.WriteLine("c = "+ c);
}
}
}
string a = "hello";
- string 변수 a에 "hello" 문자열을 할당한다.
string b = "h";
- string 변수 b에 문자열 "h"를 할당한다.
b = b + "ello";
- +연산자는 두 문자열을 연결하기때문에 "h"+"ello", 즉, b는 "hello"가 된다.
Console.WriteLine(a == b);
- a == b는 두 문자열을 비교하는데 둘 다 hello 이므로 true 를 출력한다.
Console.WriteLine("b = " + b);
- 콘솔에 "b = "과 b를 연결한 문자열을 출력한다. 즉 "b = hello" 라고 출력하게 된다.
int x = 10;
string c = b + '!' + " " + x;
Console.WriteLine("c = "+ c);
- string 변수 c에 string c의 값(hello)과 문자 '!'와 문자열 " " (빈칸) 과 int x 의 값을 연결하여 할당한다.
string에 다른 자료형의 값을 + 연산자로 연결하면 다른 자료형이 string으로 바뀌어 연결된다.
그래서 string c의 값은 "hello! 10" 이 된다.
'코딩 책공부 > 초보자를 위한 C# 200제 2판' 카테고리의 다른 글
형식지정자를 사용한 Console.WriteLine 메소드 (0) | 2024.03.29 |
---|---|
두 변수를 출력하는 방법 (0) | 2024.03.27 |
Console.WriteLine 메소드 (2) | 2024.03.26 |
대입연산자와 대입문 (0) | 2024.03.26 |
변수 선언 및 자료형 (0) | 2024.03.24 |