13
Agar o‘zgaruvchini havola bo‘yicha uzatsak,
funksiya ichida
o‘zgaruvchining asl qiymati o‘zgaradi. Buning uchun ref yoki out kalit
so‘zlari ishlatiladi. Misol uchun:
void Increment(ref int x)
{
x++;
}
int number = 5;
Increment(ref number);
Console.WriteLine(number); // Natija: 6
Bu misolda number o‘zgaruvchisi Increment funksiyasiga havola
bo‘yicha uzatildi va uning asl qiymati o‘zgardi.
Rekursiv funksiyalar
Funksiya o‘zini o‘zi chaqira oladi.
Bunday funksiyalar rekursiv
funksiyalar deb ataladi va ular asosan murakkab masalalarni hal qilishda
qo‘llaniladi, masalan, faktorial yoki Fibonachchi sonlarini hisoblash.
Misol uchun, faktorialni hisoblovchi rekursiv funksiya:
int Factorial(int n)
{
if (n == 1)
return 1;
else
return n * Factorial(n - 1);
}
Bu funksiya o‘zini o‘zi chaqirib, faktorial qiymatini qaytaradi.
14
C# dasturlash tilida funksiyalar kodning qayta ishlatilishini
ta'minlashda va murakkab masalalarni yechishda katta ahamiyatga ega.
Funksiyalar yordamida dastur modul bo'lib ishlashi, murakkab
vazifalar
bo‘linib, kichik qismlarga ajratilishi va ularni boshqarish osonlashadi.
Funksiyalar bilan ishlashda parametrlarni qanday uzatilishi, qiymatlarni
qaytarish va funksiyani ortiqcha yuklash
kabi xususiyatlar dasturiy
loyihalarda yuqori darajada foyda keltiradi.
2.2. C# dasturlash tilida funksiyalardan foydalanish
C# dasturlash tilida funksiyalardan foydalanish dasturiy
jarayonlarni modullashtirish, kodni qayta ishlatish va aniq vazifalarni
alohida bo'laklarga ajratish imkonini beradi.
Funksiyalar yordamida
murakkab vazifalar oddiyroq ko'rinishda dasturlanadi va turli kod
bloklarini ma'lum bir vazifa uchun alohida metodlarga joylashtirish
orqali dasturiy yechimlar tuzilmasi ancha soddalashadi.