C#에서 문자열 리터럴(string literal) 또는 문자열 상수는 큰따옴표("")로 감싸서 표현하며, 앞에 @ 기호를 붙인 @"" 형태로도 작성할 수 있습니다.
문자열은 문자 리터럴(character literal)과 유사한 구성 요소들을 포함할 수 있는데, 대표적으로 다음 세 가지가 있습니다.
- 일반 문자(plain characters): 알파벳, 숫자, 한글 등 그대로 출력되는 문자
- 이스케이프 시퀀스(escape sequences):
\n(줄바꿈),\t(탭),\\(역슬래시)처럼 백슬래시와 함께 사용되는 특수 문자 - 유니버설 문자(universal characters): 유니코드 기반의 다국어 문자
문자열 리터럴 예시
"Hi, User" "You're Welcome, \"
문자열 리터럴 사용 예제
다음 예제는 일반적인 문자열 리터럴과 @ 기호를 사용한 여러 줄 문자열(verbatim string)의 사용법을 보여줍니다.
using System;
namespace Demo {
class Program {
static void Main(string[] args) {
// 일반 문자열 리터럴
string str1 = "Hello, World";
Console.WriteLine(str1);
// @를 사용한 여러 줄 문자열
string str2 = @"Welcome,
Hope you are doing great!";
Console.WriteLine(str2);
}
}
}실행 결과
Hello, World Welcome, Hope you are doing great!
정리
일반 문자열 리터럴은 이스케이프 시퀀스를 해석하는 반면, @를 붙인 축자 문자열(verbatim string)은 이스케이프 문자를 그대로 인식하기 때문에 파일 경로나 정규식, 여러 줄 텍스트를 다룰 때 특히 유용합니다. 상황에 맞게 두 방식을 활용하면 더욱 가독성 높은 C# 코드를 작성할 수 있습니다.