tgoop.com/CsharpWindowsForm/289
Last Update:
معلومه في الدوال
عندما تقوم بإنشاء دالة تحوي على وسائط(parameters) فإنه عند إستدعاء الدالة يجب ان نرسل لها قيم بعدد الوسائط
مثال على تعريف دالة تحوي 3 وسائط
void method1(int a, int b,int c)
{
int x = a * b * c;
Console.WriteLine(x);
}
إستدعاء الدالة
static void Main()
{
method1(4,2,5);
}
لاحظ اننا عندما قمنا بإستدعاء الدالة و ارسلنا 3 وسائط وان لم ترسل وسائط للدالة سوف يظهر لك خطاء
*************************
ولاكن هناك حالة واحدة تستطيع فيها استدعاء الدالة بدون ان ترسل للدالة وسائط وذلك عند ما تقوم بإسناد قيم إفتراضية لوسائط الدالة عند التعريف
********************
مثال :
void method1(int a=2, int b=2,int c=2)
{
int x = a * b * c;
Console.WriteLine(x); // 8
}
static void Main()
{
method1();
}
فعند استدعاء الدالة بنفس طريقة الكود السابق سوف يتم اعتماد القيم الافتراضيه
بمعنى أوضح المترجم يفهم انك عندما تقوم بعمل وسائط للدالة وقيم افتراضية فهذا يعني انك اذا استدعيت الدالة بدون ارسال قيم للوسائط سوف يتم إعتماد القيم التي تم إسنادها عند تعريف الدالة اما اذا أرسلت قيم عند الاستدعاء ولديها قيم إفتراضية
سوف يتم إعتماد القيم التي قمت بإرسالها للداله عند الاستدعاء
مثال كي تفهم
void method1(int a=2, int b=2,int c=2)
{
int x = a * b * c;
Console.WriteLine(x); // 20
}
static void main()
{
method1(5);
}
اذا كان احد وسائط الدالة ليس له قيمه افتراضيه كالتالي
void method1(int a, int b=2,int c=2)
وتقوم بإستدعاء الدالة
method1(5);
فسوف يحدث خطاء
الوسائط التي ليس لديها قيم إفتراضية عند تعريف الدالة تسمى الوسائط المطلوبه أي التي تتطلب إرسال قيم عند إستدعاء الدالة
اما الوسائط التي لديها قيم افتراضيه تسمى وسائط إختيارية
ملاحظة مهمه :يجب تحديد الوسائط الاختياريه بعد الوسائط المطلوبه
امثله تتسبب بخطاء
void method1(int b = 2, int c=2,int a)
void method1(int b = 2, int a, int c=2)
الوسائط المطلوبة يجب كتابتها اولاً
مثال صحيح
void method1(int a, int b = 2, int c=2)
BY برمجة تطبيقات الويندوز C# Programming
Share with your friend now:
tgoop.com/CsharpWindowsForm/289