20
Bu yerda Increment funksiyasiga ref kalit so‘zi orqali number
o‘zgaruvchisi havola bo‘yicha uzatiladi va uning qiymati o‘zgaradi.
Rekursiv funksiyalar
Rekursiv funksiya o‘zini o‘zi chaqiradigan funksiyadir.
Bunday
funksiyalar asosan murakkab
masalalarni hal qilishda, masalan, faktorial
yoki Fibonachchi sonlarini hisoblashda ishlatiladi.
Misol, faktorialni hisoblaydigan rekursiv funksiya:
csharp
Copy code
int Factorial(int n)
{
if (n == 1)
return 1;
else
return n * Factorial(n - 1);
}
Ushbu funksiya n sonining faktorialini hisoblab beradi. Masalan,
Factorial(5) chaqirilganda quyidagi jarayon amalga oshiriladi:
scss
Copy code
Factorial(5) = 5 * Factorial(4)
Factorial(4) = 4 * Factorial(3)
Factorial(3) = 3 * Factorial(2)
21
Factorial(2) = 2 * Factorial(1)
Factorial(1) = 1
8. Funksiyani ortiqcha yuklash (Overloading)
C# tilida bir xil nomdagi funksiyalar turli xil parametrlar bilan yaratilishi
mumkin. Bu jarayon funksiyani ortiqcha yuklash (overloading) deb
ataladi.
Misol uchun, bir xil nomdagi Add funksiyasi turli parametrlarga
ega bo‘lishi mumkin:
csharp
Copy code
int Add(int a, int b)
{
return a + b;
}
double Add(double a, double b)
{
return a + b;
}
Bu yerda ikkita Add
funksiyasi mavjud,
biri butun sonlarni,
ikkinchisi esa qatorli sonlarni qo‘shadi. C# kompilyatori parametrlar
asosida qaysi funksiyani chaqirish kerakligini aniqlaydi.