Ob'ektlarga havolalar uchun ref va out modifikatorlarini ishlatish.
Ref va out modifikatorlarini qo'llash faqat asosiy tipdagi qiymatlarni uzatish bilan chegaralanmaydi. Ularning yordami bilan ob'ektlarga havolalar yuborish mumkin. Agar ref yoki out modifikatori havolani ko'rsatsa, u holda havolaning o'zi havola orqali uzatiladi. Bu havola ko'rsatilgan ob'ekt metodini o'zgartirish imkonini beradi. Quyidagi dasturni misol sifatida ko'rib chiqaylik, unda ref tipidagi mos havolalar bilan ko'rsatilgan parametrlar ob'ektlarni o'zgartirishga xizmat qiladi.
// Ikkita havolani almashtirish.
using System;
class RefSwap {
int a, b;
public RefSwap(int i, int j) {
a = i;
b = j;
}
public void Show() {
Console.WriteLine ("a: {0}, b: {1}", a, b);
}
// Ushbu usul o'z argumentlarini almashtiradi,
public void Swap(ref RefSwap ob1, ref RefSwap ob2) {
RefSwap t;
t = ob1;
ob1 = ob2;
ob2 = t;
}
}
class RefSwapDemo {
static void Main() {
RefSwap x = new RefSwap(1, 2);
RefSwap у = new RefSwap(3, 4);
Console.Write("x до вызова: ");
x.Show();
Console.Write("у до вызова: ");
у.Show() ;
Console.WriteLine ();
// X va y argumentlari bilan bog'liq bo'lgan argumentlarni o'zgartirish.
х.Swap(ref x, ref у);
Do'stlaringiz bilan baham: |