الحصول على الدليل الحالي في C#

Alhswl Ly Aldlyl Alhaly Fy C



نظرًا لأن المجلدات تقدم أسلوبًا منهجيًا ومنظمًا للتعامل مع الموارد والمستندات داخل التطبيق، فإنها تلعب دورًا مهمًا في تطوير C#. تساعد الدلائل في التنظيم المنطقي للملفات والموارد. يمكنك العثور على الملفات وإدارتها بسرعة عن طريق وضعها في دليل يحتوي على عناصر أخرى مماثلة. في لغة C#، يمكن استرداد دليل العمل الحالي للتطبيق باستخدام الدالة GetCurrentDirectory().

يشير دليل العمل إلى الموقع في نظام الملفات حيث يتم تشغيل التطبيق حاليًا. نظرًا لأنه بمثابة نقطة البداية لجميع أنشطة الملفات والمجلدات المرتبطة، فمن الضروري فهم هذا الدليل. سنتعرف على نماذج التعليمات البرمجية المختلفة للحديث عن هذا في هذا الدليل.

مثال 1:

لننتقل إلى المثال الأول من هذا الدليل لتوضيح استخدام الدالة GetCurrentDirectory() في لغة C#. تسمح توجيهات 'الاستخدام' للبرنامج بالوصول إلى الفئات والأساليب من مساحات الأسماء 'System' و'System.IO'. توفر مساحة الاسم 'System' أنواعًا أساسية ووظائف النظام الأساسية، بينما توفر 'System.IO' فئات للاستخدام مع المستندات والأدلة.







يحدد السطر التالي فئة جديدة تسمى 'الدمية' عبر الكلمة الأساسية 'الفئة'. الاسم 'Dummy' عشوائي ويمكن تغييره إلى أي معرف صالح. تبدأ الدالة main() بالكلمة الأساسية الثابتة التي تشير إلى أنها طريقة على مستوى الفئة، وليس من الضروري استدعاء مثيل فئة حتى تعمل.



استدعاء دالة الدليل على وشك الحدوث. يمكن استخدام طريقة GetCurrentDirectory() للحصول على دليل العمل الحالي للتطبيق. الدالة GetCurrentDirectory() هي وظيفة ثابتة من فئة 'الدليل' والتي تعد جزءًا من مساحة الاسم 'System.IO'. تقوم بإرجاع سلسلة تمثل الدليل الحالي وتعينه للمتغير 'cd'.



يتم استخدام الأسلوب Console.WriteLine() لعرض سطر من النص إلى الإخراج القياسي (وحدة التحكم). في هذه الحالة، يقوم بطباعة رسالة 'My Current Directory:' المتسلسلة مع قيمة المتغير 'cd' الذي يحمل مسار الدليل الحالي.





باستخدام النظام ;

باستخدام النظام. آيو ;

دمية الطبقة {

ثابتة فارغ رئيسي ( ) {

سلسلة القرص المضغوط = الدليل. GetCurrentDirectory ( ) ;

وحدة التحكم. خط الكتابة ( 'دليلي الحالي:' + قرص مضغوط ) ;

}

}

عند تشغيل برنامج C# هذا، يتم تنفيذ الطريقة 'الرئيسية'، ويتم عرض الدليل الحالي على وحدة التحكم. في حال كنت تستخدم أي مترجم C# عبر الإنترنت، فإنه يعرض مسار المترجم، أي /home/compiler.



قد يختلف الأمر اعتمادًا على كيفية تنفيذ التطبيق (على سبيل المثال، من Visual Studio أو موجه الأوامر أو IDE مختلف).

مثال 2:

بخلاف فئة 'الدليل'، يمكن أيضًا استخدام بيئة C# للحصول على دليل العمل الحالي. دعونا نشرح رمز مثال C# المحدد خطوة بخطوة. يبدأ الرمز بـ 'استخدام النظام؛' البيان الذي يتضمن مساحة الاسم 'النظام' في البرنامج. يحدد الكود فئة جديدة تسمى 'اختبار'.

يتم الإعلان عن متغير من نوع السلسلة باسم 'dir' ويتم إعطاؤه قيمة داخل الوظيفة 'Main'. للحصول على الدليل النشط الحالي للتطبيق، استخدم سمة Environment.CurrentDirectory. توفر فئة 'البيئة' معلومات حول البيئة التي يعمل فيها التطبيق بما في ذلك المعلومات حول نظام الملفات ومتغيرات بيئة النظام.

يتم استخدام طريقة 'Console.WriteLine' لعرض الدليل الحالي على وحدة التحكم الخاصة بـ IDE الذي كنت تستخدمه. يتم استخدام عامل التشغيل '+' لربط سلسلة 'الدليل الحالي:' بالقيمة المخزنة في المتغير 'dir'.

باستخدام النظام ;

اختبار الطبقة {

ثابتة فارغ رئيسي ( ) {

سلسلة دير = بيئة. الدليل الحالي ;

وحدة التحكم. خط الكتابة ( 'الدليل الحالي: ' + أنت ) ;

}

}

يتم استدعاء الطريقة 'الرئيسية' بشكل افتراضي عند تشغيل التطبيق. يبدأ الأمر باسترداد الدليل الحالي باستخدام Environment.CurrentDirectory. ثم يعرض الدليل الحالي عن طريق طباعة رسالة 'الدليل الحالي:' متبوعة بمسار الدليل إلى وحدة التحكم باستخدام خاصية Environment.CurrentDirectory.

مثال 3:

يعد الحصول على الدليل الحالي للتطبيق أمرًا بسيطًا باستخدام سمة AppDomain.CurrentDomain.BaseDirectory. نضيف مثالًا آخر لرمز C# لتوضيح استخدام AppDomain.CurrentDomain.BaseDirectory.

بعد إضافة مساحة الاسم 'النظام'، يحدد الكود فئة تسمى 'اختبار'. تبدأ الطريقة 'الرئيسية' تنفيذها بإضافة سطر لاسترداد دليل العمل الحالي للتطبيق. تمثل فئة 'AppDomain' مجال التطبيق و'CurrentDomain' عبارة عن خاصية ثابتة تقوم بإرجاع مجال التطبيق الحالي.

توفر خاصية 'BaseDirectory' بدورها الدليل الأساسي (المعروف أيضًا باسم الدليل الجذر للتطبيق) لمجال التطبيق الحالي. يعلن السطر التالي عن متغير يسمى 'dir' من النوع string لتخزين الدليل الحالي. يقوم السطر التالي بإخراج الدليل الحالي إلى وحدة التحكم باستخدام طريقة Console.WriteLine. يُستخدم عامل التشغيل '+' لربط سلسلة 'الدليل الحالي:' بقيمة المتغير 'dir'.

باستخدام النظام ;

اختبار الطبقة {

ثابتة فارغ رئيسي ( ) {

سلسلة دير = مجال التطبيق. المجال الحالي . الدليل الأساسي ;

وحدة التحكم. خط الكتابة ( 'الدليل الحالي: ' + أنت ) ;

}

}

عند تشغيل برنامج C# هذا، فإنه يعرض الدليل الحالي للتطبيق على وحدة التحكم.

مثال 4:

لقد حان الوقت للتوضيح النهائي من هذا الدليل. رمز C# المقدم هو تطبيق وحدة تحكم بسيط يوضح كيفية الحصول على الدليل الحالي باستخدام طريقتي 'Path.GetDirectoryName()' و'Assembly.GetExecutingAssembly().Location'.

في هذا الكود، يتم استيراد ثلاث مساحات أسماء: 'System' و'System.IO' و'System.Reflection'. تحتوي مساحات الأسماء هذه على فئات وأساليب مطلوبة لمختلف العمليات في التعليمات البرمجية. يتم تعريف الطريقة 'الرئيسية' وفئة تسمى 'الاختبار' في الكود. للحصول على دليل العمل الحالي، تقوم طريقة 'Assembly.GetExecutingAssembly()' بإرجاع كائن 'Assembly' الذي يمثل التجميع المنفذ حاليًا (أي الملف القابل للتنفيذ قيد التشغيل).

توفر خاصية 'الموقع' للكائن 'التجميع' المسار الكامل لموقع الملف القابل للتنفيذ قيد التشغيل (بما في ذلك اسم الملف). الآن، قد تحتوي خاصية 'الموقع' على المسار الكامل للملف القابل للتنفيذ بما في ذلك اسم الملف. لاستخراج جزء الدليل فقط، يتم استخدام 'Path.GetDirectoryName()'. يتم إرجاع مسار الدليل الذي يحتوي على الملف بواسطة هذه الوظيفة بعد قبول عنوان الملف كمدخل.

وأخيرًا، يقوم الكود بطباعة الدليل الحالي الذي تم الحصول عليه إلى وحدة التحكم باستخدام 'Console.WriteLine()'. يتم استخدام عامل التشغيل '+' لربط سلسلة 'الدليل الحالي:' بقيمة المتغير 'cd' (الذي يحمل مسار الدليل الحالي).

باستخدام النظام ;

باستخدام النظام. آيو ;

باستخدام النظام. انعكاس ;

اختبار الطبقة {

ثابتة فارغ رئيسي ( ) {

سلسلة القرص المضغوط = طريق. GetDirectoryName ( حَشد. GetExecutingAssembly ( ) . موقع ) ;

وحدة التحكم. خط الكتابة ( 'الدليل الحالي: ' + قرص مضغوط ) ;

}

}

عند تشغيل برنامج C# هذا، فإنه يعرض الدليل الحالي للملف القابل للتنفيذ قيد التشغيل على وحدة التحكم وفقًا للإخراج الموضح في الصورة:

خاتمة

تحصل المثيلات المذكورة أعلاه على نظام الملفات الحالي للتطبيق باستخدام أساليب وسمات C# المختلفة. ضع في اعتبارك أن المسار الحالي قد يتغير اعتمادًا على بيئة التشغيل وكيفية تشغيل البرنامج.