C#에서 @ 접두사(verbatim string literal)를 문자열 앞에 붙이면, 그 뒤에 오는 문자열 내부의 특수 문자를 이스케이프(escape) 처리할 필요가 없습니다. 즉, 역슬래시(\)를 일반 문자 그대로 해석합니다.
이스케이프 생략 예제
예를 들어 다음 두 문장은 완전히 동일한 결과를 가집니다.
@"D:\new"
위 코드는 아래와 같이 이스케이프 시퀀스를 사용한 문장과 같습니다.
"D:\\new"
일반 문자열에서는 \n이 줄바꿈으로 해석되지만, @ 접두사를 사용하면 경로 표현 시 매번 \\처럼 이중으로 역슬래시를 입력할 필요가 없어 파일 경로나 정규식 작성 시 특히 유용합니다.
여러 줄 문자열 작성하기
@ 접두사는 긴 문자열을 여러 줄에 걸쳐 표현하고 싶을 때도 활용됩니다. 소스 코드에 입력한 줄바꿈과 들여쓰기가 그대로 문자열에 포함됩니다. 다음 예제를 살펴보겠습니다.
Example
using System;
namespace Demo {
class Program {
static void Main(string[] args) {
string str = @"Welcome User,
Kindly wait for the image to
load";
Console.WriteLine(str);
}
}
}Output
Welcome User, Kindly wait for the image to load
이처럼 @ 접두사를 활용하면 특수 문자 이스케이프 없이 직관적으로 문자열을 작성할 수 있고, 가독성이 좋은 여러 줄 문자열도 손쉽게 만들 수 있습니다.