Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 19021|Yanıt: 0

[Kaynak] Directory.GetCurrentDirectory ile Application.StartupPath arasındaki fark

[Bağlantıyı kopyala]
Yayınlandı 8.12.2016 11:06:32 | | |

System.IO.Directory.GetCurrentDirectory() yöntemi, uygulamanın mevcut çalışma dizinini elde etmek için kullanılır.
System.Windows.Forms.Application.StartupPath, dosya adı olmadan uygulamanın çalıştırılabilir dosyasına giden yolu alır

StartupPath yürütülebilir dosyası sabitlenmiş ve hedefleme için kullanılabilir
GetCurrentDirectory, çalıştırılabilir dosyanın bulunduğu dizin olması mutlaka değildir; bu dizinin nerede başlatıldığına bağlı olarak değişir

İki program varsa C:/A/a.exe ve C:/B/b.exe
a.exe içinde b.exe başlatırken, System.Diagnostics.Process.Start(@"C:/B/b.exe")
Bu durumda, b.exe'daki Directory.GetCurrentDirectory() yöntemi "C:/A" değeri ve Application.StartupPath değeri "C:/B" döndürür
Eğer b.exe doğrudan C:/B/ ile başlarsanız, her iki değer de aynı olur, her ikisi de "C:/B" olur

Bu, Directory.GetCurrentDirectory ile Application.StartupPath arasındaki farktır

İki anlam farklıdır.
Application.StartupPath, programın başlatma dizinidir ve program çalıştıktan sonra değişmez.

Directory.GetCurrentDirectory() "güncel dizin"dir ve program çalışırken değiştirilebilir

Directory.SetCurrentDirectory() ile değiştirilmesi için .

Directory.GetCurrentDirectory() varsayılan değeri Application.StartupPath() ile aynıdır.




Önceki:lock Neden sadece referansı kilitleyebiliyor ama değer türünü kilitlemiyor?
Önümüzdeki:Sadece bir örneğin çalışmasına izin veren bir C# programının sorununu çözmenin birkaç yolunun ayrıntılı açıklaması
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com