لكي نقوم باستدعاء أي دالة نفعل ذلك علي النحوالتالي : ( وليكن اسم الدالة MyMethod )
int Got = MyMethod(3434);
هذا إذا كانت الدالة من نوع int وتأخذ parameter من نوع int مثلا
حسنا ... هل يمكنني أن استدعي أي دالة مثل MyMethod حتي لو داخل هذه الدالة نفسها ؟؟
- نعم :
int MyMethod(int Parameter)
{
int result = MyMethod(43);
return result;
}وهذه هي ال Recursive method
• ال Recursive method هي دوال تستدعي نفسها داخل هيكل الدالة نفسها ..
مثال : أشهر مثال هو مثال المضروب Factorial :
المضروب لعدد ما وليكن n يكون n*(n-1)*(n-2).....1 وهكذا
أي أن مضروب 4 يساوي :
4*(4-1)*(4-2)*(4-3)
والآن إذا عملنا دالة تقوم بحساب المضروب نستخدم فيها ال Recursive method كالتالي :
static int Factorial ( int Number)
{
if( Number <= 1)
{
return 1;
}
else
{
return Number*Factorial(Number-1);
}وهكذا تم استدعاء ال Factorial methos داخل نفسها
Enjoy