2012-01-30 1 views
2

이 코드가 있습니다. Program Files의 폴더에있는 Directory.Exists가 실패합니다.

string path = @"C:\Program Files (x86)\My App\Sub Folder of my App\"; 

if(Directory.Exists(path)) { 
    MessageBox.Show("It's here!"); 
} else { 
    MessageBox.Show("Can't find it!"); 
} 

이제 폴더가 존재하고 명령을 실행 않습니다

explorer "C:\Program Files (x86)\My App\Sub Folder of my App\" 

이 창을 엽니 다, 아직 내 코드에서 폴더를 볼 실패합니다. 머리카락이 있다면 그걸 뽑을거야.

왜 이런 일이 발생했는지에 대한 제안이 있으십니까?

답변

2

"@"을 사용하면 백 슬래시 문자 (\)를 이스케이프 할 필요가 없습니다. 나의 초기 대답

string path = "C:\\Program Files (x86)\\My App\Sub Folder of my App\\"; 

가 잘못 이었지만, 다른 사람에게 유용 할 수 있습니다 나는 대답을 유지하고있다.

+0

좋은 catch.4321 – Almo

+1

사실, @ 문자열 리터럴을 사용하는 경우에는 백 슬래시를 이스케이프 처리하지 않아야하므로 내 대답이 맞는지 확실하지 않습니다. –

+0

흠 ... 어쩌면 내가 삭제 한 대답을 되돌려 놓고 관련성이 있는지 살펴볼 것입니다. – Almo