문자열 앞의 C # '@'
중복 가능성 :
.NET의 문자열 앞의 @는 무엇입니까?
C # 학습서에서 찾았습니다.
DirectoryInfo dir = new DirectoryInfo(key.Key.ToString() + @":\");
그러나이 책은 '@'기호의 의미를 설명하지 않았습니다. MSDN C # 연산자 검색을 시도했지만 거기에 나열되지 않았습니다. 개발자가 '\'를 이스케이프하지 않아도되는지 아니면 이스케이프 시퀀스가 없도록 허용합니까?
이것은 무엇이며 왜 @":\"
대신 사용 ":\\"
합니까?
도와 주셔서 감사합니다
편집 : 비슷한 질문에 대해서는 아래 설명을 참조하십시오.
이는 문자열을 문자 그대로 해석하는 것을 의미합니다 (즉, @ 접두사를 사용하는 경우 문자열 내의 어떤 문자도 이스케이프 할 수 없음). 사용할 수있는 경우 가독성을 향상시킵니다.
예를 들어 UNC 경로로 작업하는 경우 다음과 같습니다.
@"\\servername\share\folder"
이것보다 더 좋다 :
"\\\\servername\\share\\folder"
또한 예약어를 변수 이름으로 사용할 수 있음을 의미합니다.
class라는 이름의 클래스를 원한다고 가정하면 class는 예약어이므로 대신 클래스 클래스를 호출 할 수 있습니다.
IList<Student> @class = new List<Student>();
문자열 앞에 @를 붙이면 리터럴로 처리해야 함을 나타냅니다. 즉, 이스케이프가 없습니다.
예를 들어 문자열에 경로가 포함 된 경우 일반적으로 다음을 수행합니다.
string path = "c:\\mypath\\to\\myfile.txt";
@를 사용하면 다음을 수행 할 수 있습니다.
string path = @"c:\mypath\to\myfile.txt";
이중 슬래시 (이스케이프)가 없음을 확인하십시오.
참고로, "이스케이프"는 "특수 문자에 대한 표시기로 백 슬래시 사용"을 의미합니다. 예를 들어 다음과 같이 문자열에 줄 끝을 넣을 수 있습니다.
String foo = "Hello\
There";
이것은 무엇이며 왜 ": \"대신 @ ": \"를 사용합니까?
많은 사람들과 오랫동안 쏘였을 때 \
그들 모두를 피할 필요가 없기 때문입니다.
참고 URL : https://stackoverflow.com/questions/4879152/c-sharp-before-a-string
'Programing' 카테고리의 다른 글
전역 변수로 '창'이있는 JSLint의 문제 (0) | 2020.10.18 |
---|---|
쉘 명령의 실행 시간 인쇄 (0) | 2020.10.18 |
Java에서 현재 날짜에 한 달을 어떻게 추가합니까? (0) | 2020.10.18 |
IOS 시뮬레이터에 "앱 스토어"를 설치할 수 있습니까? (0) | 2020.10.17 |
변수 이름이 문자형 벡터에 저장 될 때 data.table 선택 / 할당 (0) | 2020.10.17 |