2012-02-03 12 views
5

Neden "c:" yolunu verdiğimde, beni doğrudan uygulama klasörüne değiştirdi?C# neden yol "C:" olduğunda, directoryInfo beni uygulama klasörüne götürür?

c:

static void Main(string[] args) 
    { 
     DirectoryInfo dir = new DirectoryInfo("c:"); 
     Console.WriteLine(dir.FullName); 
     Console.ReadLine(); 
    } 

çıktısı şöyledir \ consoleApplication9 bin \ debug \

Ama ne zaman kullanıcılara \ ... \ belgeler görsel stüdyo 2010 \ projeleri \ o "d:" ve @"d:\" diske d: için gereken rağmen diske c: gider @"c:\" ver.

yüzden "c:" önceden diske c:

için

Teşekkür alır bildirmek için bir yol gerekir!

+3

.. Beklenen sonuçlar kazanılmış olurdu bir hazır dizin yolundaki geçecekti ve değişime kafa karıştırıcı olacağını şimdi! –

+0

= DirectoryInfo dir = new DirectoryInfo ("c: \\"); 'veya' DirectoryInfo dir = new DirectoryInfo (@ "c: \"); –

+0

Eğer 'C kullanıyor olmalıdır anlamına gelir –

cevap

2
static void Main(string[] args) 
    { 
     string YourDir = "c:"; 

     if (!YourDir.Substring(YourDir.Length - 1, 1).Equals(@"\")) 
      YourDir += @"\"; 
     DirectoryInfo dir = new DirectoryInfo(YourDir); 
     Console.WriteLine(dir.FullName); 
     Console.ReadLine(); 
    } 
+0

demek istediğimi kim var sadece .. bu yüzden bu sağ olsun tek yolu –

+0

teşekkürler sadece benim noktası var .. bu yüzden bu –

+5

@MurHafSoz teşekkürler tek yolu olduğunu sanırım: Eğer birçok insan varsa Seni anlayamazken, kendini daha açık açıklamayı düşünmelisin. –

6

C: Bu uygulamanın çalışma yolunu olacağını hacmi, bulunduğunuz yoluna değişecek yüzden, sadece hacim belirtecidir.

D: bu hacim için geçerli klasör kökünde olur çünkü basitçe kökünü götürür.

+0

bunu kontrol .. ben sadece benim soruyu düzenlemek Uygulamam başvurum için çalışmıyor: \' de diskte yolunu belirtir hangi – linkerro

15

Sadece "c:" "C sürücüsündeki geçerli dizin" anlamına gelir, oysa @"c:\" "C sürücüsünün kökü" anlamına gelir. Bu c yaptığınızda anda aşağıdaki

static void Main(string[] args) 
    {   
     DirectoryInfo dir = new DirectoryInfo(@"c:\"); 
     Console.WriteLine(dir.FullName); 
     Console.ReadLine(); 
    }  

Taban Dizini kullanın

0

enter image description here

... komut isteminden aynı şekilde çalışır: Uygulama böylece anlamıyor Uygulamanın başlatıldığı/çalıştırıldığı Dizini döndürür.

Bildirim o dir = {.} O 1983 yılından bu yana çalıştığı böyle yürüyor Çünkü

İlgili konular