다음 코드는 각 백 슬래시의 "인식 할 수없는 이스케이프 시퀀스"에 대한 컴파일러 오류를 생성합니다.
string foo = "D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
백 슬래시를 피해야할까요? 어떻게하나요?
답변:
매번 이중 백 슬래시를 사용할 수 있습니다.
string foo = "D:\\Projects\\Some\\Kind\\Of\\Pathproblem\\wuhoo.xml";
또는 @ 기호 사용
string foo = @"D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
이 시도:
string foo = @"D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
문제는 문자열에서 a \
가 이스케이프 문자라는 것입니다. @
부호를 사용하여 컴파일러에게 이스케이프 문자를 무시하도록 지시합니다.
다음을 이스케이프하여 얻을 수도 있습니다 \
.
string foo = "D:\\Projects\\Some\\Kind\\Of\\Pathproblem\\wuhoo.xml";
예에서와 같이 문자열이 파일 경로 인 경우 Unix 스타일 파일 경로를 사용할 수도 있습니다.
string foo = "D:/Projects/Some/Kind/Of/Pathproblem/wuhoo.xml";
그러나 다른 답변에는 C #에서 문자열 이스케이프에 대한 더 일반적인 솔루션이 있습니다.