الدوال (Functions) في لغة C#
في لغة C#، تُعتبر الدوال (Functions)، والتي تُسمى أيضًا "الأساليب" (Methods) أساسية في بناء البرامج. فهي تسمح بتقسيم البرنامج إلى أجزاء صغيرة مُستقلة، قابلة لإعادة الاستخدام، مما يُسهل كتابة، قراءة، واختبار الكود.
تعريف الدالة:
يتكون تعريف الدالة في C# من الأجزاء التالية:
- مُعدِّل الوصول (Access Modifier): يُحدد مستوى رؤية الدالة من أجزاء أخرى من البرنامج. أشهر مُعدِّلات الوصول هي:
public
: الدالة مُتاحة للوصول من أي مكان في البرنامج.private
: الدالة مُتاحة للوصول فقط داخل نفس الصنف (Class) الذي تم تعريفها فيه.protected
: الدالة مُتاحة للوصول داخل نفس الصنف والأصناف المشتقة (Inherited Classes).
- نوع الإرجاع (Return Type): يُحدد نوع القيمة التي تُرجعها الدالة بعد انتهاء تنفيذها. إذا كانت الدالة لا تُرجع أي قيمة، يتم استخدام الكلمة المفتاحية
void
. - اسم الدالة (Method Name): اسم فريد يُستخدم لاستدعاء الدالة. يُفضل استخدام أسماء واضحة ودالة على وظيفة الدالة.
- قائمة المعاملات (Parameter List): قائمة مُفصولة بفواصل، تحتوي على المُتغيرات التي تستقبلها الدالة كمدخلات. كل مُعامل يتكون من نوعه واسمه. إذا كانت الدالة لا تستقبل أي مُعاملات، تكون القائمة فارغة.
- جسم الدالة (Method Body): مجموعة الأوامر البرمجية التي تُنفذ عند استدعاء الدالة، محصورة بين قوسين مُعقوصين
{}
.
الصيغة العامة لتعريف دالة:
C#
<مُعدِّل الوصول> <نوع الإرجاع> <اسم الدالة>(<قائمة المعاملات>){ // أوامر الدالة return <قيمة الإرجاع>; // إذا كان نوع الإرجاع ليس void}
مثال:
C#
public int جمع_عددين(int العدد_الأول, int العدد_الثاني){ int المجموع = العدد_الأول + العدد_الثاني; return المجموع;}
public void طباعة_رسالة(string الرسالة){ Console.WriteLine(الرسالة);}
استدعاء الدالة:
يتم استدعاء الدالة بكتابة اسمها متبوعًا بأقواس ()
، مع تمرير القيم المطلوبة للمعاملات بين الأقواس إذا كانت الدالة تستقبل مُعاملات.
مثال:
C#
int نتيجة_الجمع = جمع_عددين(5, 3); // استدعاء دالة جمع_عددينConsole.WriteLine(نتيجة_الجمع); // طباعة الناتج: 8
طباعة_رسالة("مرحباً بالعالم!"); // استدعاء دالة طباعة_رسالة
أنواع الدوال:
- دوال تُرجع قيمة: تُرجع قيمة من نوع مُحدد باستخدام الكلمة المفتاحية
return
. - دوال لا تُرجع قيمة (Void Methods): لا تُرجع أي قيمة، ويتم تعريفها باستخدام الكلمة المفتاحية
void
. - دوال ذات معاملات اختيارية (Optional Parameters): تسمح بتحديد قيم افتراضية للمعاملات، بحيث يُمكن استدعاء الدالة بدون تمرير قيم لهذه المعاملات.
- دوال ذات معاملات مُسماة (Named Parameters): تسمح بتمرير القيم للمعاملات باستخدام أسماء المعاملات، بغض النظر عن ترتيبها في تعريف الدالة
أهمية الدوال:
- إعادة الاستخدام: يُمكن استدعاء الدالة أكثر من مرة في البرنامج، مما يُقلل من تكرار الكود.
- التنظيم: تُساعد على تقسيم البرنامج إلى أجزاء منطقية، مما يُسهل فهمه وصيانته.
- الاختبار: يُمكن اختبار كل دالة بشكل مُستقل، مما يُسهل اكتشاف الأخطاء