C# da ref, out va in tushunchalari

C# da ref, out va in tushunchalari

C# dasturlash tilida metodlarga parametr (argument) uzatishning turli usullari mavjud.
Ko‘p hollarda oddiy qiymat uzatiladi, lekin ba’zan bizga qiymatni havola (reference) orqali uzatish kerak bo‘ladi.

S…


This content originally appeared on DEV Community and was authored by Elshod Ibodullayev

C# da ref, out va in tushunchalari

C# dasturlash tilida metodlarga parametr (argument) uzatishning turli usullari mavjud.
Ko‘p hollarda oddiy qiymat uzatiladi, lekin ba’zan bizga qiymatni havola (reference) orqali uzatish kerak bo‘ladi.

Shu yerda ref, out va in kalit so‘zlari yordamga keladi.
Keling, ularni sodda misollar bilan tushunib chiqamiz. 🚀

Oddiy uzatish (by value)

void ChangeValue(int x)
{
    x = 100;
}

int num = 5;
ChangeValue(num);
Console.WriteLine(num); // 5 chiqadi

👉 Oddiy holatda qiymat nusxasi metodga yuboriladi.
Shuning uchun tashqaridagi num o‘zgarmaydi.

ref kalit so‘zi

void ChangeValue(ref int x)
{
    x = 100;
}

int num = 5;
ChangeValue(ref num);
Console.WriteLine(num); // 100 chiqadi ✅

ref orqali qiymat havola sifatida yuboriladi.

⚠️ Lekin ref ishlatishdan oldin parametrga qiymat berilishi shart.

out kalit so‘zi

void GetValues(out int a, out int b)
{
    a = 10;
    b = 20;
}

int x, y;
GetValues(out x, out y);
Console.WriteLine($"{x}, {y}"); // 10, 20 chiqadi ✅

out orqali ham qiymat havola orqali yuboriladi, lekin metod ichida qiymat berilishi majburiy.

Bu ko‘pincha bitta metoddan bir nechta qiymat qaytarish uchun ishlatiladi.

in kalit so‘zi

void PrintValue(in int x)
{
    // x = 50; ❌ Error – o‘zgartirib bo‘lmaydi
    Console.WriteLine(x);
}

int num = 30;
PrintValue(in num); // 30 chiqadi ✅

in parametri havola orqali yuboriladi, lekin metod ichida o‘zgartirish mumkin emas.

Bu usul katta obyektlarni nusxa qilmasdan samarali uzatish uchun ishlatiladi.

Xulosa

  • ref → qiymatni havola orqali uzatadi, o‘zgartirish mumkin.
  • out → havola orqali uzatadi, lekin metod ichida qiymat berish majburiy.
  • in → havola orqali uzatadi, lekin metod ichida o‘zgartirish mumkin emas.


This content originally appeared on DEV Community and was authored by Elshod Ibodullayev


Print Share Comment Cite Upload Translate Updates
APA

Elshod Ibodullayev | Sciencx (2025-08-18T08:33:06+00:00) C# da ref, out va in tushunchalari. Retrieved from https://www.scien.cx/2025/08/18/c-da-ref-out-va-in-tushunchalari/

MLA
" » C# da ref, out va in tushunchalari." Elshod Ibodullayev | Sciencx - Monday August 18, 2025, https://www.scien.cx/2025/08/18/c-da-ref-out-va-in-tushunchalari/
HARVARD
Elshod Ibodullayev | Sciencx Monday August 18, 2025 » C# da ref, out va in tushunchalari., viewed ,<https://www.scien.cx/2025/08/18/c-da-ref-out-va-in-tushunchalari/>
VANCOUVER
Elshod Ibodullayev | Sciencx - » C# da ref, out va in tushunchalari. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/08/18/c-da-ref-out-va-in-tushunchalari/
CHICAGO
" » C# da ref, out va in tushunchalari." Elshod Ibodullayev | Sciencx - Accessed . https://www.scien.cx/2025/08/18/c-da-ref-out-va-in-tushunchalari/
IEEE
" » C# da ref, out va in tushunchalari." Elshod Ibodullayev | Sciencx [Online]. Available: https://www.scien.cx/2025/08/18/c-da-ref-out-va-in-tushunchalari/. [Accessed: ]
rf:citation
» C# da ref, out va in tushunchalari | Elshod Ibodullayev | Sciencx | https://www.scien.cx/2025/08/18/c-da-ref-out-va-in-tushunchalari/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.