Изјава о прекидачу Ц # (са примерима)

У овом чланку ћемо научити о наредби свитцх у Ц # и како их користити са примерима.

Извод Свитцх може се користити за замену наредбе иф … елсе иф у Ц #. Предност употребе свитцх овер иф … иначе ако је наредба кодови ће изгледати много чишће и читљивије са свитцхом.

Синтакса наредбе свитцх је:

 прекидач (променљива / израз) (цасе валуе1: // Изводи се ако је израз (или променљива) = валуе1 бреак; цасе валуе2: // Изводи се ако је израз (или променљива) = валуе1 бреак;……………… дефаулт: / / Изводи извршени ако се ниједан случај не подудара) 

Израз свитцх процењује израз (или променљиву) и упоређује његову вредност са вредностима (или изразима) сваког случаја (валуе1, валуе2, …). Када пронађе одговарајућу вредност, извршавају се изрази унутар тог случаја.

Али, ако се ниједан од горе наведених случајева не подудара с изразом, defaultизвршавају се изрази унутар блока. Подразумевана изјава на крају прекидача слична је блоку елсе у наредби иф елсе.

Међутим, проблем са наредбом прекидач је, када се пронађе одговарајућа вредност, он извршава све изразе након ње до краја преклопног блока.

Да бисмо то избегли, користимо breakизјаву на крају сваког случаја. Израз бреак зауставља програм да извршава неподударајуће изразе прекидањем извршења наредбе свитцх.

Да бисте сазнали више о изјави о прекиду, посетите Ц # изјаву о прекиду.

Пример 1: Изјава прекидача Ц #

 using System; namespace Conditional ( class SwitchCase ( public static void Main(string() args) ( char ch; Console.WriteLine("Enter an alphabet"); ch = Convert.ToChar(Console.ReadLine()); switch(Char.ToLower(ch)) ( case 'a': Console.WriteLine("Vowel"); break; case 'e': Console.WriteLine("Vowel"); break; case 'i': Console.WriteLine("Vowel"); break; case 'o': Console.WriteLine("Vowel"); break; case 'u': Console.WriteLine("Vowel"); break; default: Console.WriteLine("Not a vowel"); break; ) ) ) ) 

Када покренемо програм, излаз ће бити:

 Унесите абецеду Кс Не самогласник 

У овом примеру од корисника се тражи да унесе абецеду. Абецеда се конвертује у мала слова помоћу ToLower()методе ако је велика.

Затим, наредба свитцх проверава да ли је абецеда коју је корисник унео a, e, i, o or u.

Ако се један од случајева подудара, Vowelисписује се у супротном, контрола прелази у задати блок и Not a vowelисписује се као излаз.

Пошто су излази за све самогласнике једнаки, можемо придружити случајеве као:

Пример 2: Изјава прекидача Ц # са груписаним случајевима

 using System; namespace Conditional ( class SwitchCase ( public static void Main(string() args) ( char ch; Console.WriteLine("Enter an alphabet"); ch = Convert.ToChar(Console.ReadLine()); switch(Char.ToLower(ch)) ( case 'a': case 'e': case 'i': case 'o': case 'u': Console.WriteLine("Vowel"); break; default: Console.WriteLine("Not a vowel"); break; ) ) ) ) 

Излаз оба програма је исти. У горе наведеном програму, сви самогласници исписују излаз Vowelи прекидају се из наредбе свитцх.

Иако наредба свитцх чини код чишћим него ако … у супротном, наредба свитцх је ограничена на рад са ограниченим типовима података. Изјава о пребацивању у Ц # ради само са:

  • Примитивни типови података: боол, цхар и интегрални тип
  • Набројани типови (Енум)
  • Стринг Цласс
  • Типови података изнад

Пример 3: Једноставни програм за калкулатор који користи Изјаву прекидача Ц #

 using System; namespace Conditional ( class SwitchCase ( public static void Main(string() args) ( char op; double first, second, result; Console.Write("Enter first number: "); first = Convert.ToDouble(Console.ReadLine()); Console.Write("Enter second number: "); second = Convert.ToDouble(Console.ReadLine()); Console.Write("Enter operator (+, -, *, /): "); op = (char)Console.Read(); switch(op) ( case '+': result = first + second; Console.WriteLine("(0) + (1) = (2)", first, second, result); break; case '-': result = first - second; Console.WriteLine("(0) - (1) = (2)", first, second, result); break; case '*': result = first * second; Console.WriteLine("(0) * (1) = (2)", first, second, result); break; case '/': result = first / second; Console.WriteLine("(0) / (1) = (2)", first, second, result); break; default: Console.WriteLine("Invalid Operator"); break; ) ) ) ) 

Када покренемо програм, излаз ће бити:

 Унесите први број: -13.11 Унесите други број: 2.41 Унесите оператор (+, -, *, /): * -13.11 * 2.41 = -31.5951 

Горњи програм узима два операнда и оператора као улаз од корисника и изводи операцију на основу оператора.

Улази се узимају из корисник са ReadLine()и Read()методе. Да бисте сазнали више, посетите Ц # Основни улаз и излаз.

Програм користи изјаву случаја прекидача за доношење одлука. Алтернативно, можемо користити иф-елсе иф мердевине за извођење исте операције.

Занимљиви Чланци...