Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 문자열 앞에 붙는 @ 기호란 무엇일까요?

C#에서 문자열 앞에 붙는 @ 기호는 해당 문자열을 축자 문자열 리터럴(verbatim string literal)로 표시하는 역할을 합니다.

C#에서 축자 문자열은 특수 기호인 @를 사용해 생성합니다. 이때 @를 '축자 식별자(verbatim identifier)'라고 부릅니다. 문자열 앞에 @가 붙고 그 뒤에 큰따옴표가 오면, 컴파일러는 해당 문자열을 축자 문자열로 인식하고 이를 그대로 컴파일합니다.

@ 기호의 가장 큰 장점은 문자열 생성자에게 이스케이프 문자와 줄 바꿈을 무시하도록 지시할 수 있다는 점입니다. 덕분에 파일 경로나 정규식처럼 역슬래시(\)가 자주 등장하는 문자열을 훨씬 깔끔하게 작성할 수 있습니다.

예제 코드

using System;
using System.IO;
namespace DemoApplication{
    class Program{
        static void Main(string[] args){
            Console.WriteLine("test string\n test string");
            Console.WriteLine(@"test string \n test string");
            //아래 두 문장은 서로 동일합니다.
            string jsonString1 = File.ReadAllText(@"D:\Json.json");
            string jsonString2 = File.ReadAllText("D:\\Json.json");
            Console.ReadLine();
        }
    }
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

test string
test string
test string \n test string

출력 결과에서 알 수 있듯이, 일반 문자열에서는 \n이 줄 바꿈으로 해석되지만, @가 붙은 축자 문자열에서는 \n이 그대로 문자로 출력됩니다. 또한 파일 경로를 지정할 때도 @를 사용하면 \\처럼 역슬래시를 두 번 쓰지 않고 \\ 하나만으로 경로를 표현할 수 있어 코드의 가독성이 크게 향상됩니다.