|
Qarshi davlat universiteti matematika va kompyuter ilmlari fakulteti
|
bet | 15/16 | Sana | 18.05.2024 | Hajmi | 141,69 Kb. | | #241912 |
Bog'liq Latofat777int[][] numbers = {
new int[] { 1, 2 },
new int[] { 1, 2, 3 },
new int[] { 1, 2, 3, 4, 5 } };
2.2 Switch operatori.
Juda ko’p hollarda ichma-ich yozilgan shart operatorlari ko’p tekshirish olib borib bir nechta amal bajaradi. Lekin bulardan faqat bittasigina haqiqiy bo’ladi. Masalan:
if (myValue == 10) Console.WriteLine("myValue teng 10"); else
if (myValue == 20) Console.WriteLine("myValue teng 20 " ) ;else
if (myValue == 30) Console.WriteLine("myValue teng 30 " ) ; else ....
Bunday murakkab shart tekshirilishi bo’lganda if operatoridan ko’ra, uning yangi versiyasi bo’lgan switch dan foydalanish afzal.Switch operatori quyidagicha ishlaydi:
Switch (ifoda)
{
case : o’zgarmas ifoda : instruksiya o’tish ifodasi default : instruksiya
}
Misoldan ko’rinib turibdiki, switchda ham tekshirilayotgan ifoda if … else dagi kabi, ( ) orasiga olingan va operatordan keyin yozilgan.Case(tekshirish) va default (aks holda) bo’limlari qaysi amal bajarilishi zarurligini aniqlab beradi.Case operatori albatta biror bir tenglashtirish uchun qiymat talab qiladi.
{
switch ( myValue ) case 10:
Console.WriteLine("myValue teng 10") ; break;
case 20:onsole.WriteLine("myValue teng 20"); break;
case 30: Console.WriteLine("myValue teng 30"); break;
}
Switch operatorida default amalini yozish shart emas, chunki u berilgan qiymatning tanlangan birorta qiymatga mos kelmaganda bajariladigan amallarni o’z ichiga oladi.
Agarda berilgan qiymat birorta tanlangan qiymatga mos kelsa, u holda case amalidan keyin bajariladigan amallar (ular bir nechta bo’lsa, { } orasiga olinadi) bajariladi, so’ng break amali switch operatorining ishini shu joyda to’xtatadi va switch operatoridan keyin keladigan operator ishini davom ettiradi. C va C++ tillarida keyingi case amaliga avtomatik o’tishingiz mumkin, agarda oldingi case amalining oxirida break yoki goto operatorlari yozilmagan bo’lsa. Shunday qilib, C va C++ da quyidagicha yozish mumkin :
Case : statement 1 ; Case : statement 2; Break ;
Bu misolda statement 1 dan so’ng statement 2 ga avtomatik tarzda o’tiladi (C++ da). C# da bu dastur ishlamaydi, chunki C# tili sintaksisida case1 dan case2 ga ikki xil vaziyatda o’tish mumkin : agarda birinchi amal bo’sh bo’lsa (case dan so’ng hech qanday qiymat tekshiriladi) yoki break, goto operatorlari yordamida. Har bir case operatori o’zida break amalini ushlab turishi lozim. Masalan:
{
switch (a ) case 10:
Console.WriteLine("a= 10" ) ; break;
case 20: Console.WriteLine("a=20"); break;
case 30: Console.WriteLine("a= 30"); break;
}
yoki quyidagicha berish ham mumkin :
using System; namespace Misol class MyClass
static void Main(string[j] args)
{
int user = 0;
user =
|
| |