|
Qiymat qaytarmaydigan funksiyalar
|
bet | 8/9 | Sana | 05.10.2024 | Hajmi | 28,35 Kb. | | #273623 |
Bog'liq MirjalolQiymat qaytarmaydigan funksiyalar
Ba'zi funksiyalar hech qanday qiymat qaytarmaydi. Bunday funksiyalar void kalit so'zi bilan yaratiladi. Masalan, ekranga xabar chiqaradigan funksiya quyidagicha yoziladi:
csharp
Copy code
void PrintMessage()
{
Console.WriteLine("Hello, World!");
}
Bu funksiya hech qanday qiymat qaytarmaydi va chaqirilganda "Hello, World!" xabarini ekranga chiqaradi:
csharp
Copy code
class Program
{
static void Main(string[] args)
{
PrintMessage(); // Funksiyani chaqirish
}
static void PrintMessage()
{
Console.WriteLine("Hello, World!");
}
}
Natijada ekranda quyidagi chiqish bo‘ladi:
Copy code
Hello, World!
Parametr uzatish usullari
C# dasturlash tilida funksiyaga parametrlar qiymat yoki havola bo‘yicha uzatilishi mumkin. Ushbu usullar funksiyaning ichidagi parametrlar bilan qanday ishlashiga ta'sir qiladi.
Qiymat bo‘yicha uzatish (Pass by Value)
Standart holatda parametrlar qiymat bo‘yicha uzatiladi, ya'ni funksiyaga berilayotgan qiymatning nusxasi yaratiladi va u funksiyaning ichida ishlatiladi. Funksiyadagi o‘zgarishlar asl o‘zgaruvchiga ta'sir qilmaydi.
Misol:
csharp
Copy code
void Increment(int x)
{
x++;
}
class Program
{
static void Main(string[] args)
{
int number = 5;
Increment(number);
Console.WriteLine(number); // Natija: 5
}
}
Bu misolda Increment funksiyasi qiymat bo‘yicha uzatildi, ya'ni number o‘zgaruvchisining qiymati o‘zgarmaydi.
Havola bo‘yicha uzatish (Pass by Reference)
Havola bo‘yicha uzatishda parametr asl o‘zgaruvchi bilan bog‘lanadi va funksiyada o‘zgarish kiritilgan taqdirda asl qiymat ham o‘zgaradi. Havola bo‘yicha uzatish uchun ref yoki out kalit so‘zlari ishlatiladi.
Misol:
csharp
Copy code
void Increment(ref int x)
{
x++;
}
class Program
{
static void Main(string[] args)
{
int number = 5;
Increment(ref number); // Havola bo‘yicha uzatish
Console.WriteLine(number); // Natija: 6
}
}
Bu yerda Increment funksiyasiga ref kalit so‘zi orqali number o‘zgaruvchisi havola bo‘yicha uzatiladi va uning qiymati o‘zgaradi.
|
| |