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 tomondako'rsatilishi kerak. Misol uchun, quyidagi e'lon xato hisoblanadi. int Sample(string name = "пользователь", int userId) {// Xato! Ushbu e'londagi xatoni tuzatish uchun userIdparametrini nameparametridan 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) { //Ошибка! namemajburiy bo`lmagan parametr deb e'lon qilinganligi uchun userIdparametri nameparametridan 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.