Out parametrining modifikatori ref modifikatoriga o'xshaydi, bir istisno bor: bu faqat metotdan tashqariga qiymat chiqarish uchun xizmat qiladi. Shuning uchun, parametr sifatida ishlatiladi out o`zgaruvchisiga qiymat berish shart emas (va foydasiz). Bundan tashqari, out parametri initsializatsiyalanmagan deb hisoblanadi, bundan uning asl qiymati yo'qligi taxmin qilinadi. Bu shuni anglatadiki, metod tugallanmasidan oldin ushbu parametrga qiymat berilgan bo'lishi kerak. Binobarin, metod chaqirilgandan so'ng out parametr ba'zi qiymatni o'z ichiga oladi.
Quyida out parametrining modifikatoridan foydalanishning bir misoli keltirilgan. Bu dasturda Decompose sinfining GetParts() metodidan foydalangan holda haqiqiy sonning butun va kasr qismini ajratish keltirilgan. Asl sonning har bir qismi qay tartibda qaytib kelishiga e'tibor bering.
// out modifikatori parametridan foydalanish.
using System;
class Decompose {
/* Nuqta bilan ajratilgan haqiqiy son qiymatni
butun va qisman qismlarga ajratish. */
public int GetParts(double n, out double frac) {
int whole;
whole = (int) n;
frac = n - whole; // fracparametri orqali soning kasr qismini olish
return whole; // raqamning butun qismini qaytarish
}
}
class UseOut {
static void Main() {
Decompose ob = new Decompose();
int i;
double f;
i = ob.GetParts(10.125, out f);
Console.WriteLine("Целая часть числа равна " + i);
Console.WriteLine("Дробная часть числа равна " + f);
}
}
Do'stlaringiz bilan baham: |