Yuqoridagi barcha jarayonlar quyidagi dastur misolida ko'rsatiladi.
// Majburiy bo'lmagan argumentlarni namoyish qilish.
using System;
class OptionArgDemo {
static void OptArgMeth(int alpha, int beta=10, int gamma = 20) {
Console.WriteLine ("Это аргументы alpha, beta и gamma: " + alpha + " " + beta + " " + gamma);
}
static void Main() {
// Barcha argumentlarlarni aniq tarzda uzatish.
OptArgMeth(1, 2, 3);
// gamma argumenti ixtiyoriy.
OptArgMeth(1, 2);
// beta va gamma argumentlari ixtiyoriy.
OptArgMeth(1);
}
}
Ushbu dasturning natijasi sukut bo'yicha ishlatiladigan argumentlarni qo'llashni tasdiqlaydi.
Это аргументы alpha, beta и gamma: 1 2 3
Это аргументы alpha, beta и gamma: 1 2 20
Это аргументы alpha, beta и gamma: 1 10 20
Yuqoridagi natijadan kelib chiqqan holda, agar argument ko'rsatilmagan bo'lsa, uning qiymati sukut bo'yicha o'rnatiladi.
Shuni yodda tutish kerakki, barcha majburiy bo`lmagan parametrlar maburiy parametrlardan o'ng tomonda ko'rsatilishi kerak. Misol uchun, quyidagi e'lon xato hisoblanadi.
int Sample(string name = "пользователь", int userId) {// Xato!
Ushbu e'londagi xatoni tuzatish uchun userId parametrini name parametridan keyin kiritish kerak. Majburiy bo'lmagan parametrlarni e'lon qila boshlaganingizdan so'ng, majburiy parametrlarni ko'rsatish mumkin emas. Misol uchun, quyidagi e`lon ham noto'g'ri.
int Sample(int accountld, string name = "пользователь", int userld) { //Ошибка!
name majburiy bo`lmagan parametr deb e'lon qilinganligi uchun userId parametri name parametridan oldin ko'rsatilishi kerak (yoki majburiy bo`lmagan bo`lishi kerak).
Metoddan tashqari, majburiy bo`lmagan parametrlar konstruktorlar, indeksatorlar va delegatlarda ham qo'llanilishi mumkin. (Indeksatorlar va delegatlar haqida kitobda muhokama qilinadi.)
Majburiy bo'lmagan parametrlarning afzalligi, xususan, dasturlashda metod va konstrukturlarning murakkab chaqiruvlarini soddalashtiradi. Ba`zan metod odatdagidan ko'proq parametrlarni talab qilishi mumkin. Bunday hollarda, ushbu parametrlarning ba'zilarini majburiy bo`lmagan holda to'g'ri qo'llash orqali ixtiyoriy ravishda amalga oshirilishini ta`minlash mumkin. Bu shuni anglatadiki, faqat ushbu holatda zarur parametrlar uchun qo`llash, ya`ni majburiy bo`lgan hollar uchun qo`llamaslik kerak. Ushbu yondashuv metodni ratsionalizatsiya qilish va u bilan dasturlashni boshqarish jarayonini soddalashtirish imkonini beradi.
Do'stlaringiz bilan baham: |