|
ref modifikatoridan foydalanish
|
bet | 98/154 | Sana | 08.01.2024 | Hajmi | 5,29 Mb. | | #131939 |
Bog'liq Majmuaref modifikatoridan foydalanish
O‘zgartirish parametrini o‘zgartirish chaqiruvining qiymati bo‘yicha emas, balki havola bo‘yicha majburlaydi. Ushbu modifikator metod e’lonida ham, metodni ishlatganda ham yoziladi. Quyidagi dasturda Sqr() metodi yaratilib, uning argumenti o‘rniga uning butun sonining kvadratini qaytaradi.
ref modifikatorni qo‘llash va joylashishiga e’tibor berish lozim.
using System;
class RefTest {
// Ushbu metod o‘z argumentini o‘zgartiradi.
// ref modifikatordan foydalanish
public void Sqr(ref int i)
{
i = i * i;
}
}
class RefDemo {
static void Main() {
RefTest ob = new RefTest ();
int a = 10;
Console.WriteLine("а ning oldingi qiymati: " + a);
ob.Sqr(ref a); // ref dan foydalanishga e’tibor bering
Console.WriteLine("а ning keyingi qiymati: " + a);
Console.ReadKey();
}
}
Ko‘rinib turibdiki, modifikator metoddagi parametr e’lonidan oldin va metod chaqirilganda argumentdan oldin ko‘rsatiladi. Quyida ushbu dasturni bajarish natijasi keltirilgan, bu argumentning qiymati Sqr() metodi yordamida o‘zgarganligini ko‘rish mumkin.
а ning oldingi qiymati: 10
а ning keyingi qiymati: 100
Endi, ref operatoridan foydalanib, oddiy turdagi ikkita argumentlarning qiymatlarini o‘zaro almashtiradigan metod yozish mumkin. Misol tariqasida, quyida Swap() metodi chaqirilganda uning ikkita butun sonli argumentlari qiymatlarini o‘zgartiradigan dastur mavjud.
using System;
class ValueSwap
{
// Ushbu metod o‘z argumentlarini almashtiradi
public void Swap1(ref int a, ref int b)
{
int t;
t = a;
a = b;
b = t;
}
// Ushbu metod o‘z argumentlarini almashtirmaydi
|
| |