मैंने निम्नलिखित कोड के साथ एक सरल कंसोल एप्लिकेशन बनाया:
Console.WriteLine(System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
Console.WriteLine(System.AppDomain.CurrentDomain.BaseDirectory);
Console.WriteLine(System.Environment.CurrentDirectory);
Console.WriteLine(System.IO.Directory.GetCurrentDirectory());
Console.WriteLine(Environment.CurrentDirectory);
मैंने परिणामी निष्पादन योग्य को कॉपी किया C:\temp2
। मैंने तब उस निष्पादन योग्य के लिए एक शॉर्टकट रखा C:\temp3
, और उसे चलाया (एक बार स्वयं से और एक बार शॉर्टकट से)। इसने दोनों बार निम्न आउटपुट दिए:
C:\temp2
C:\temp2\
C:\temp2
C:\temp2
C:\temp2
हालांकि मुझे यकीन है कि यह समझाने के लिए कुछ कॉकमामी कारण होना चाहिए कि पांच अलग-अलग विधियां क्यों हैं जो वास्तव में सटीक एक ही काम करती हैं, मुझे निश्चित रूप से नहीं पता कि यह क्या है। फिर भी, ऐसा प्रतीत होता है कि अधिकांश परिस्थितियों में, आप जो भी पसंद करते हैं उसे चुनने के लिए स्वतंत्र हैं।
अद्यतन:
मैंने "प्रारंभ में:" फ़ील्ड को बदलते हुए शॉर्टकट गुणों को संशोधित किया है C:\temp3
। इसका परिणाम निम्न आउटपुट में हुआ:
C:\temp2
C:\temp2\
C:\temp3
C:\temp3
C:\temp3
... जो विभिन्न तरीकों के बीच कम से कम कुछ भेदों को प्रदर्शित करता है।