2012-01-30 2 views
2

J'ai simplement ce bit de code.Directory.Exists sur un dossier dans Program Files échoue

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!"); 
} 

Maintenant, le dossier existe et exécutant la commande:

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

Ouvre la fenêtre, mais dans mon code, il ne voit pas le dossier. Si j'avais des cheveux, je les arracherais.

Des suggestions pour expliquer pourquoi cela se produit?

Répondre

2

En utilisant "@" vous n'avez pas besoin d'échapper la barre oblique inverse (\).

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

Ma réponse initiale était incorrecte, mais je garde la réponse car elle pourrait être utile aux autres.

+0

Bon catch.4321 – Almo

+1

En fait, nous ne devrions pas avoir besoin d'échapper le backslash si nous utilisons le littéral @ string donc je ne suis pas sûr que ma réponse soit correcte. –

+0

Hmm ... Peut-être que je vais remettre la réponse que j'ai effacée, et voir si c'est pertinent. – Almo

Questions connexes