المعاملات الاختيارية
جزء من قسم Fundamentals في رحلة C# على Coddy — الدرس 52 من 69.
في لغة #C، يمكنك تعريف معلمات اختيارية في دالة (method) من خلال توفير قيمة افتراضية في توقيع الدالة. يتيح لك ذلك استدعاء الدالة مع أو بدون تحديد الوسيط (argument) الخاص بتلك المعلمة. إذا لم يتم توفير الوسيط، فسيتم استخدام القيمة الافتراضية.
إليك الصيغة الأساسية لتعريف معلمة اختيارية:
access_modifier return_type method_name(parameter_type parameter_name = default_value) {
// جسم الدالة
}على سبيل المثال:
public void Greet(string name = "Guest") {
Console.WriteLine("Hello, " + name + "!");
}في هذا المثال، تمتلك الطريقة Greet معلمة اختيارية name بقيمة افتراضية هي "Guest". يمكنك استدعاء هذه الطريقة بطريقتين:
Greet("Alice"); // المخرج: Hello, Alice!
Greet(); // المخرج: Hello, Guest!إذا قمت بتوفير وسيط لـ name، فسيتم استخدامه. إذا أغفلت الوسيط، فستُستخدم القيمة الافتراضية "Guest".
يجب أن تظهر المعلمات الاختيارية بعد جميع المعلمات المطلوبة في توقيع الطريقة. يمكنك الحصول على عدة معلمات اختيارية، ولكن بمجرد تعريف معلمة اختيارية، يجب أن تكون جميع المعلمات اللاحقة اختيارية أيضاً.
التحدي
سهلأنشئ دالة باسم DisplayMessage تأخذ معاملين:
- معامل نصي (string) مطلوب باسم
message. - معامل صحيح (integer) اختياري باسم
repeatCountبقيمة افتراضية هي1.
يجب أن تقوم الدالة بطباعة الـ message على الكونسول (console) بعدد repeatCount من المرات. إذا لم يتم توفير repeatCount عند استدعاء الدالة، يجب أن تكون القيمة الافتراضية 1.
إليك مثال على كيفية استدعاء الدالة:
DisplayMessage("Hello!"); // يطبع "Hello!" مرة واحدة
DisplayMessage("Coddy", 3); // يطبع "Coddy" ثلاث مراتورقة مرجعية
تسمح لك المعلمات الاختيارية (Optional parameters) في C# بتحديد قيم افتراضية في تواقيع الدوال. إذا لم يتم توفير وسيط عند استدعاء الدالة، فسيتم استخدام القيمة الافتراضية.
الصيغة الأساسية:
access_modifier return_type method_name(parameter_type parameter_name = default_value) {
// جسم الدالة
}مثال:
public void Greet(string name = "Guest") {
Console.WriteLine("Hello, " + name + "!");
}
// الاستخدام:
Greet("Alice"); // المخرجات: Hello, Alice!
Greet(); // المخرجات: Hello, Guest!قواعد هامة:
- يجب أن تظهر المعلمات الاختيارية بعد جميع المعلمات المطلوبة
- بمجرد تحديد معلمة اختيارية، يجب أن تكون جميع المعلمات اللاحقة اختيارية أيضًا
جرّب بنفسك
using System;
public class Program {
// قم بإنشاء دالة DisplayMessage هنا
public static void Main(string[] args) {
DisplayMessage("Hello!");
DisplayMessage("Coddy", 3);
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةالزيادة والنقصانالزيادة والنقصان اللاحقاختصارات العمليات الحسابية7أساسيات الإدخال والإخراج (Basic IO)
الإخراج الأساسيتضمين النصوص (String Interpolation)قراءة المدخلاتالتحليل (Parse)مراجعة - حتى 120مراجعة - True أو False10الأساليب (الدوال)
تعريف الأساليبمعاملات الأساليبأنواع الإرجاعالمعاملات الاختياريةمراجعة - دالة التحققأساليب Void5المعاملات - الجزء الثاني
معاملات المقارنةالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالث