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

معاملات الأساليب

جزء من قسم Fundamentals في رحلة C# على Coddy — الدرس 50 من 69.

الـ argument هو قيمة تمررها إلى method عند استدعائها. الـ parameter هو متغير في تعريف الـ method الذي يستقبل تلك القيمة. تُكتب الـ parameters داخل الأقواس () الخاصة بتعريف الـ method:

public static return_type method_name(data_type param1, data_type param2, ...) {
	// الكود
}

يحدد return_type نوع القيمة التي ستعيدها الطريقة. عندما لا تحتاج الطريقة إلى إرجاع أي قيمة (مثل عندما تقوم بطباعة شيء ما فقط)، استخدم void كنوع للإرجاع.

في الوقت الحالي، اكتب دائمًا public static قبل اسم الطريقة الخاصة بك - سنشرح معنى كل كلمة لاحقًا.

يمكننا تسمية المعلمات كما نريد ويمكننا كتابة أي عدد نحتاجه من المعلمات.

لاستدعاء دالة (method) وتمرير وسائط إليها نكتب:

method_name(value1, value2, value3, ...);

تمرير عدد كبير جداً من الوسائط إلى طريقة تتوقع عدداً أقل من الوسائط سيؤدي إلى فشل البرنامج

مثال على الاستخدام:

public static void IsEven(int number) {
	if (number % 2 == 0) {
		Console.WriteLine(number + " is even");
	} else {
		Console.WriteLine(number + " is odd");
	}
}

for (int i = 15; i < 34; i++) {
	IsEven(i);
}
for (int i = 153; i < 219; i++) {
	IsEven(i);
}

لدينا هنا دالة (method) تسمى IsEven تُعرف بارامترًا واحدًا يسمى number وتطبع ما إذا كان الرقم زوجيًا أم فرديًا. ثم نقوم باستدعاء الدالة مرتين، مع تمرير المعاملات (arguments): مرة واحدة لجميع الأرقام بين 15 و34، ومرة ثانية لجميع الأرقام بين 153 و219.

challenge icon

التحدي

سهل

اكتب برنامجاً يحصل على مدخلين، وهما عبارة عن أرقام. الأرقام المدخلة هي وسائط (arguments) للدالة. 

قم بإنشاء دالة تستقبل وسيطين، وتحسب حاصل ضربهما وتطبعه، وقم بتسمية الدالة بأي اسم تريده.

استدعِ الدالة باستخدام الأرقام المدخلة.

ملاحظة! في الكود الخاص بك، اكتب الدالة قبل عبارات استدعائها/تنفيذها.

ورقة مرجعية

تُعد معلمات (parameters) الطريقة متغيرات يتم تعريفها في توقيع الطريقة وتستقبل القيم. أما وسائط (arguments) الطريقة فهي القيم الفعلية التي يتم تمريرها عند استدعاء الطريقة. قم بتعريف المعلمات داخل الأقواس مع أنواع البيانات الخاصة بها:

public static return_type method_name(data_type param1, data_type param2, ...) {
	// الكود
}

يحدد return_type نوع القيمة التي ستعيدها الطريقة. عندما لا تحتاج الطريقة إلى إرجاع أي قيمة (مثل عندما تقوم بطباعة شيء ما فقط)، استخدم void كنوع للإرجاع.

استدعِ الطريقة عن طريق تمرير الوسائط:

method_name(value1, value2, value3, ...);

مثال:

public static void IsEven(int number) {
	if (number % 2 == 0) {
		Console.WriteLine(number + " is even");
	} else {
		Console.WriteLine(number + " is odd");
	}
}

IsEven(15); // استدعاء الطريقة مع الوسيط 15

ملاحظة: سيؤدي تمرير عدد كبير جداً من الوسائط إلى الطريقة إلى فشل البرنامج.

جرّب بنفسك

using System;

public class Program {
    // إعلان الطريقة
    
    
    public static void Main(string[] args) {
        int a = int.Parse(Console.ReadLine());
        int b = int.Parse(Console.ReadLine());
        // استدعاء الطريقة مع تمرير a و b كوسطاء
        
    }
}
quiz iconاختبر نفسك

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

جميع دروس Fundamentals