ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс

ez code

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ switch β€” case Π² C++

БСгодня ΠΌΡ‹ научимся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этой ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ конструкциСй языка c++.

ΠžΡ‡Π΅Π½ΡŒ часто Π² процСссС написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ трСбуСтся ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ if-else конструкции, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠ»ΡŽΡ‡ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ; Ссли Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΈΠ³Ρ€Ρƒ, Ρ‚ΠΎ придСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π½Π° ΠΊΠ°ΠΊΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π°ΠΆΠ°Π» ΠΈΠ³Ρ€ΠΎΠΊ (Π²ΠΏΡ€Π°Π²ΠΎ, Π²Π»Π΅Π²ΠΎ, ΠΏΡ€ΠΎΠ±Π΅Π» ΠΈ Ρ‚.Π΄.).

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ конструкции с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ switch case, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΡƒΠ·Π½Π°Π΅ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ enum Ρ‚ΠΈΠΏΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ подходят для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со switch case.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ switch-case β€” это удобная Π·Π°ΠΌΠ΅Π½Π° Π΄Π»ΠΈΠ½Π½ΠΎΠΉ if-else конструкции, которая сравниваСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с нСсколькими константными значСниями, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ int ΠΈΠ»ΠΈ char.

Бинтаксис

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π² скобках сравниваСтся со значСниями, описанными послС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова case. ПослС двоСточия находится ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π² случаС Ссли пСрСмСнная оказалась Ρ€Π°Π²Π½ΠΎΠΉ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. break Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ switch. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ Π½Π΅Ρ‚ break:

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ a = 4.

ЗначСния для сравнСния, описанныС послС case ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ константами, поэтому ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования switch-case β€” Π½Π΅Π²Π΅Ρ€Π΅Π½:

ΠŸΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ сообщСниС:

Π‘Π»ΠΎΠΊ default β€” нСобязатСлСн, Π½ΠΎ ΠΎΠ½ ΠΏΠΎΠ»Π΅Π·Π΅Π½ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуации.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° дСмонстрируСт ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования switch-case:

Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ простой способ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ….

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ switch-case с if-else

Если Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ switch-case, посмотритС Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ if-else ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ switch

Если ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ if-else, Π·Π°Ρ‡Π΅ΠΌ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΡƒΠΆΠ΅Π½ switch? Π“Π»Π°Π²Π½ΠΎΠ΅ прСимущСство этой конструкции Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ понятно, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°: СдинствСнная пСрСмСнная ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ случаС с if-else, придСтся Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ условиС.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ собствСнныС Ρ‚ΠΈΠΏΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ enumeration

Иногда ΠΏΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠΎΠ³ΡƒΡ‚ понадобится ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ извСстны Π²Π°ΠΌ Π·Π°Ρ€Π°Π½Π΅Π΅. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ†Π²Π΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ. ΠžΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ сразу ΠΈ Π½Π°Π±ΠΎΡ€ доступных констант ΠΈ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ связан с этим Π½Π°Π±ΠΎΡ€ΠΎΠΌ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ подходят для использования Π² switch-case, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния Π·Π°Ρ€Π°Π½Π΅Π΅.

Π’ΠΈΠΏ enum (сокращСниС ΠΎΡ‚ Β«enumerated typeΒ«, пСрСчисляСмыС Ρ‚ΠΈΠΏΡ‹) содСрТит пСрСчислСниС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ†Π²Π΅Ρ‚ΠΎΠ² Ρ€Π°Π΄ΡƒΠ³ΠΈ:

НСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ²:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ с Ρ‚ΠΈΠΏΠΎΠΌ RainbowColor:

И, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ, эти ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ подходят для использования Π² switch:

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ пСрСчислСния, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌΠΈ, Ρ‡Ρ‚ΠΎ рассмотрСли всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ЗначСния констант Π² пСрСчислСнии β€” это простой int, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ большС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ Π½Π° 1. Для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ β€” 0, для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ β€” 1 ΠΈ Ρ‚.Π΄. Π’ нашСм случаС: RC_RED = 0 ΠΈ RC_ORANGE = 1.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ собствСнныС значСния:

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ использования пСрСчисляСмых Ρ‚ΠΈΠΏΠΎΠ² Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ имя значСниям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½Π°Ρ‡Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ Ρ…Π°Ρ€Π΄-ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ. НапримСр, Ссли Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΈΠ³Ρ€Ρƒ крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ, Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ способ прСдставлСния крСстиков ΠΈ Π½ΠΎΠ»ΠΈΠΊΠΎΠ² Π½Π° доскС. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ 0 для пустой ΠΊΠ»Π΅Ρ‚ΠΊΠΈ, 1 для Π½ΠΎΠ»ΠΈΠΊΠ° ΠΈ 2 для крСстика. Π—Π½Π°Ρ‡ΠΈΡ‚, навСрняка придСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΊΠΎΠ΄:

Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΎΡ‡Π΅Π½ΡŒ слоТСн для понимания ΠΈ обслуТивания, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ совсСм Π½Π΅ понятно, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ†ΠΈΡ„Ρ€Π° 1. Enum Ρ‚ΠΈΠΏΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… ситуаций:

На этом всё! ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈ Π½Π΅ пропуститС Π½ΠΎΠ²Ρ‹Π΅ ΡƒΡ€ΠΎΠΊΠΈ! πŸ™‚

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ switch (C)

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ switch ΠΈ case ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ слоТными условными опСрациями ΠΈ опСрациями вСтвлСния. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ switch ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Π½ΡƒΡ‚Ρ€ΠΈ своСго Ρ‚Π΅Π»Π°.

Бинтаксис

selection-statement :
switch ( expression ) statement

labeled-statement :
case constant-expression : statement
default : statement

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ

ЗначСния expression ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ constant-expression Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ цСлочислСнный Ρ‚ΠΈΠΏ. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ constant-expression Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠ΅ константноС цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²ΠΎ врСмя компиляции.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ switch ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ВыраТСния switch expression ΠΈ case constant-expression Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ цСлочислСнного Ρ‚ΠΈΠΏΠ°. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ case constant-expression Π² Ρ‚Π΅Π»Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ switch :

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для систСм ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚

Π’ Microsoft C Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (default) Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ компилятора /Za для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ этих Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Какой ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс

Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅1: ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€1;
Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅2: ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€2;
Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅3: ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€3;
..
else ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€N
end;

ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡ» ΠΈ значСния констант («Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅1» ΠΈ Ρ‚.Π΄.) Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ порядкового Ρ‚ΠΈΠΏΠ°.
Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Case:
Π’ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° case вмСсто логичСского выраТСния Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ пСрСмСнная ΠΈΠ»ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ порядкового Ρ‚ΠΈΠΏΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ сСлСктором. Π”ΠΎ этого Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΅ΠΉ присваиваСтся ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. По Ρ…ΠΎΠ΄Ρƒ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° case, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-сСлСктора (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ выраТСния) сравниваСтся с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ, описанными Π² Π½Π΅ΠΌ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°ΠΌΠΈ (ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ-значСниями). Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ совпадСниС Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, Ρ‚ΠΎ выполняСтся Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΊΠ΅ ΠΈ происходит Π²Ρ‹Ρ…ΠΎΠ΄ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ЗначСния-ΠΌΠ΅Ρ‚ΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ константами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ сСлСктор. Π˜Ρ… Ρ‚ΠΈΠΏ ΠΈ Ρ‚ΠΈΠΏ сСлСктора Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ совмСстимы ΠΏΠΎ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡŽ.

Если совпадСний Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, Ρ‚ΠΎ выполняСтся Π±Π»ΠΎΠΊ else. Если Π±Π»ΠΎΠΊ else отсутствуСт (ΠΎΠ½ являСтся Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ), Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ case Π½Π΅ выполняСтся.
Если для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…-сСлСкторов трСбуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ эти константы ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ ΠΈ послС двоСточия ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ этот ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Pascal: ЗанятиС β„–2. Π§Π°ΡΡ‚ΡŒ 2: ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Π±ΠΎΡ€Π° Π² паскалС

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Π±ΠΎΡ€Π° Π² ПаскалС

Рассмотрим использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π²Ρ‹Π±ΠΎΡ€Π° Π² языкС Паскаль Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ: Π’Ρ‹Π±ΠΎΡ€ Π½Π΅ ΠΈΠ· Π΄Π²ΡƒΡ…, Π° ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π² зависимости ΠΎΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния с использованиСм условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° if:

var otmetka:integer; begin writeln(‘ΠžΡ‚ΠΌΠ΅Ρ‚ΠΊΠ°?’); readln(otmetka); if (otmetka=1) or (otmetka=2) then writeln (‘ΠΊΠΎΡˆΠΌΠ°Ρ€!’) else if otmetka=3 then writeln(‘ΠΏΠ»ΠΎΡ…ΠΎ’) else if otmetka=4 then writeln(‘Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ’) else if otmetka=5 then writeln(‘ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ!’) else writeln(‘Ρ‚Π°ΠΊΠΈΡ… ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚’); end.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ дСмонстрируСт Π½Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ программиста ΠΈ слишком Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π“ΠΎΡ€Π°Π·Π΄ΠΎ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Π΅Π΅ выглядит ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ использовании ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π²Ρ‹Π±ΠΎΡ€Π°.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния с использованиСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π²Ρ‹Π±ΠΎΡ€Π° case:

var otmetka:integer; begin writeln(‘ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ°?’); readln(otmetka); case otmetka of 1,2 : writeln (‘ΠΊΠΎΡˆΠΌΠ°Ρ€!’); 3: writeln(‘ΠΏΠ»ΠΎΡ…ΠΎ’); 4: writeln(‘Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ’); 5: writeln(‘ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ!’); else writeln(‘Ρ‚Π°ΠΊΠΈΡ… ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚’); end end.

Π‘Π»ΠΎΠΊ-схСма, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ Π²Ρ‹Π±ΠΎΡ€Π°:
ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс

[НазваниС Ρ„Π°ΠΉΠ»Π°: L2task9.pas ]

ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½

ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс

ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс

[НазваниС Ρ„Π°ΠΉΠ»Π°: L2task10.pas ]

Π”Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Π±ΠΎΡ€Π° Case Π² ПаскалС, ΠΌΠΎΠΆΠ½ΠΎ просмотрСв Π²ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊ:

Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ char Π² ПаскалС

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ пригодится Ρ‚ΠΈΠΏ char β€” ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ.
ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊ:
c: char;
ΠΈ присваиваСт значСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:
c:=’a’;

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° конструкция switch-case Π² C# ΠΈ ΠΊΠ°ΠΊ с Π½Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ

ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ switch ΠΈ case Π½ΡƒΠΆΠ½Ρ‹ для управлСния слоТными условными опСрациями ΠΈ опСрациями вСтвлСния. Они Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² соврСмСнной Π‘#-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, ΠΈ любой ΡƒΠ²Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΉ сСбя программист Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ кСйс

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π‘ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° своСго появлСния Π² C# конструкция switch – case стала Π΅Π³ΠΎ Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ. Она ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ строки ΠΈΠ»ΠΈ числового значСния (Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ) ряду констант. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, это инструмСнт управлСния Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π½Π° равСнство.

Бинтаксис ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° switch Π² C#:

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ конструкции switch-case Π² C#

Если Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ case Π½Π΅ сработал, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ default β€” с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° совпадСниС Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° switch Π±Π΅Π· Π±Π»ΠΎΠΊΠ° default

Π’ случаС, Ссли Π±Π»ΠΎΠΊ default отсутствуСт ΠΈ Π½Π΅Ρ‚ совпадСний со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ выраТСния, Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… дСйствий Π½Π΅ выполняСтся, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:.

Π’Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ конструкций

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ строк Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ switch Π² Π‘#

ΠšΡ€ΠΎΠΌΠ΅ чисСл Π² switch ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ строки символов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π Π°Π±ΠΎΡ‚Π° с return

ΠŸΡ€ΠΈ использовании switch – case слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ нСсколько ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ²:

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ goto case

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅

Рассмотрим ΡΡ‚Π°Ρ€ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈΠ· ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠΎΠ² ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания конструкции switch – case Π² C#.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΏΠΎ Π·Π°ΠΊΠ°Π·Ρƒ ΠΎΡ‚Π΄Π΅Π»Π° ΠΊΠ°Π΄Ρ€ΠΎΠ² вашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ соискатСлСй, ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΡ… ΡƒΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΡΡ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π½Π° основании ΠΈΡ… ΠΎΠΏΡ‹Ρ‚Π°. Нам Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΈΡ… Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ разбСрСмся с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ этой Π·Π°Π΄Π°Ρ‡ΠΈ:

Π’ Ρ†Π΅Π»ΠΎΠΌ ΠΊΠΎΠ΄ выглядит простым ΠΈ Π»Π΅Π³ΠΊΠΈΠΌ для чтСния, Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅Π³ΠΈΠ±ΠΊΠΈΠΌ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ?

C# 7.0: использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΈ when

ИзмСнСния Π² C# 8.0: контСкст выраТСния

Начиная с C# 8.0, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ switch Π² контСкстС выраТСния. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ лямбда-выраТСния с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ примСнСния Π² Π½ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°. НСвооруТСнным Π³Π»Π°Π·ΠΎΠΌ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅, Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ:

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньшС строк ΠΊΠΎΠ΄Π°. ЀактичСски, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ наш ΠΏΡ€ΠΈΠΌΠ΅Ρ€, возвращая Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выраТСния Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ² вСсь Π±Π»ΠΎΠΊ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄, основанный Π½Π° Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ:

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ‡Π΅ΠΌ мСньшС ΠΊΠΎΠ΄Π°, Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅, Π½ΠΎ Π²Π°ΠΌ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ самый минималистичный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, особСнно Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅, Π³Π΄Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ люди Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ написали.

ВСрсия C# 9.0: выраТСния ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ с сопоставлСниСм с ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠΌ

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ switch Π² Π‘#

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ свойств

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для сравнСния Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ выраТСния со значСниями ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. НапримСр, создадим класс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:

Π—Π°Ρ‚Π΅ΠΌ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° значСниях статуса ΠΈ языка, Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ сообщСниС ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° свойств:

Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок Π² Ρ‚Π΅Π»Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΡƒΠΊΠ°Π·Π°Π½Ρ‹ свойства ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ β€” ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π‘ послСдним ΠΈ сравниваСтся свойство ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

Π’Π°ΠΊΠΎΠΉ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Π½ΡƒΠΆΠ΅Π½ для сравнСния условного выраТСния со значСниями ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ β€” ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ языка ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ суток:

ΠšΠΎΡ€Ρ‚Π΅ΠΆ создаСтся ΠΈΠ· Π΄Π²ΡƒΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π² ΠΌΠ΅Ρ‚ΠΎΠ΄. Π—Π°Ρ‚Π΅ΠΌ Π² нашСй конструкции Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.

ΠŸΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½

ΠŸΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρƒ Ρ‚ΠΈΠΏΠΎΠ² с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ дСконструктора. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° сдСлаСм класс с дСталями нашСго сообщСния:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ ΠΈ Π² зависимости ΠΎΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° MsgDetails Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ сообщСниС:

РСляционный ΠΈ логичСский ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹

РСляционный ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Π½ΡƒΠΆΠ΅Π½ для сравнСния ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π² ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² сравнСния. Рассмотрим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ расчСта суммы ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² исходя ΠΈΠ· суммы Π²ΠΊΠ»Π°Π΄Π°, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ² этот ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½:

ЛогичСский ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ( and ΠΈ or ) для объСдинСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ сравнСния. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π΅Π³ΠΎ использования ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² Π³Π»Π°Π²Π΅, ΠΎΡΠ²Π΅Ρ‰Π°ΡŽΡ‰Π΅ΠΉ измСнСния Π² Π‘#9.

Π˜Ρ‚ΠΎΠ³ΠΈ

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ конструкции ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ Π² C# ΠΈ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ, ΠΊΠ°ΠΊ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡ… быстрСС ΠΈ ΠΏΡ€ΠΎΡ‰Π΅. Π’Π°ΠΊΠΆΠ΅ познакомились с ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°ΠΌΠΈ конструкции switch ΠΈ с Ρ‚Π΅ΠΌ, для Ρ‡Π΅Π³ΠΎ ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹. НадССмся, Π²Π°ΠΌ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ!

Π›ΠΎΠ²ΠΈΡ‚Π΅ Π²ΠΈΠ΄Π΅ΠΎ для закрСплСния ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°:

Π’ΠΈΠ΄Π΅ΠΎ: Π£Ρ€ΠΎΠΊΠΈ C# (C sharp) β€” ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Switch

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *