Switch (Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ²)

ОглавлСниС


ОписаниС

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Switch прСдставляСт собой Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ IF (условиС "Если ... Ρ‚ΠΎ ...") .

Если ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ IF ΠΈΠΌΠ΅Π΅Ρ‚ всСго Π΄Π²Π° исхода - True ΠΈΠ»ΠΈ False (зСлСная ΠΈΠ»ΠΈ красная Π²Π΅Ρ‚Π²ΠΈ), Ρ‚ΠΎ Switch ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Π’ случаС отсутствия Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°, ΠΊΡƒΠ±ΠΈΠΊ Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ ΠΏΠΎ Π²Π΅Ρ‚ΠΊΠ΅ β€œDefault”.


Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ дСйствиС Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚?

Π§Π΅Ρ€Π΅Π· контСкстноС мСню Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ дСйствиС β†’ Π›ΠΎΠ³ΠΈΠΊΠ° β†’ Switch

Β 

Π›ΠΈΠ±ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΡƒΠΌΠ½Ρ‹ΠΌ поиском.


Для Ρ‡Π΅Π³ΠΎ это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ?

  • Π’Ρ‹Π±ΠΎΡ€ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΈΠ· пСрСчня

  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ (соотвСтствиС)


Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ экшСном?

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

Π—Π΄Π΅ΡΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ

Начиная с вСрсии 7.4.0.0 ΠΈΠ· этого поля сразу ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ (Π΄ΠΎ этого ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…).

Бписок условий

Π—Π΄Π΅ΡΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ условия Π²Ρ‹Ρ…ΠΎΠ΄Π°. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΡƒΠ΄ΡƒΡ‚ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΈΠ· условий ΠΈ ΠΏΡ€ΠΈ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ совпадСния Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ ΠΏΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅.

Π’ качСствС условия для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ТСстко Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ тСкст, Π½ΠΎ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

Default

Если Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ совпадСния, Ρ‚ΠΎ экшСн Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ ΠΏΠΎ Π²Π΅Ρ‚ΠΊΠ΅ Default.

Если Π²Π΅Ρ‚ΠΊΠ° Default Π½Π΅ соСдинСна Π½ΠΈ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· экшнов ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π° Π½Π΅Ρ‘, Ρ‚ΠΎ экшСн Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ошибкой.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€


ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρƒ нас сущСствуСт ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ switch_test.

Π”Π°Π»Π΅Π΅ создадим ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠžΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅ (Notification/Π—Π°ΠΏΠΈΡΡŒ Π² Π»ΠΎΠ³) для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ².

Π’ΠΈΠ΄Π΅ΠΎ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ использования

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Ρ‡Π΅Ρ€Π΅Π· C# C# ΠΊΠΎΠ΄ (Π‘ΠΈ ΡˆΠ°Ρ€ΠΏ ΠΊΠΎΠ΄ .net)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π²Ρ‹ΡˆΠ΅

string switch_var = project.Variables["switch_test"].Value; switch(switch_var){ case "A": project.SendInfoToLog("Π’ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π±ΡƒΠΊΠ²Π° A", true); break; case "B": project.SendInfoToLog("Π’ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π±ΡƒΠΊΠ²Π° B", true); break; case "C": project.SendInfoToLog("Π’ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π±ΡƒΠΊΠ²Π° C", true); break; case "D": project.SendInfoToLog("Π’ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π±ΡƒΠΊΠ²Π° B", true); break; case "E": project.SendInfoToLog("Π’ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π±ΡƒΠΊΠ²Π° E", true); break; default: project.SendInfoToLog("НС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎΠ΅ соотвСтствиС, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ: " + project.Variables["switch_test"].Value, true); break; }

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки