Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

المعاملات الاختيارية

جزء من قسم 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".

يجب أن تظهر المعلمات الاختيارية بعد جميع المعلمات المطلوبة في توقيع الطريقة. يمكنك الحصول على عدة معلمات اختيارية، ولكن بمجرد تعريف معلمة اختيارية، يجب أن تكون جميع المعلمات اللاحقة اختيارية أيضاً.

challenge icon

التحدي

سهل

أنشئ دالة باسم DisplayMessage تأخذ معاملين:

  1. معامل نصي (string) مطلوب باسم message.
  2. معامل صحيح (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);
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals