Switch в C# - зручна заміна великої кількості if
switch використовується тоді, коли потрібно виконати різні дії залежно від значення змінної. Якщо у вас багато перевірок через if, їх часто можна замінити на switch
🔹 Приклад через if
if (weaponId == 0)
{
Debug.Log("Pistol");
}
else if (weaponId == 1)
{
Debug.Log("Shotgun");
}
else if (weaponId == 2)
{
Debug.Log("Rifle");
}
Код працює, але коли перевірок стає багато - читати його стає незручно
🔹 Той самий приклад через switch
switch (weaponId)
{
case 0:
Debug.Log("Pistol");
break;
case 1:
Debug.Log("Shotgun");
break;
case 2:
Debug.Log("Rifle");
break;
}
Такий код легше читати та підтримувати
🔹 Що таке case?
case - це значення, яке перевіряється
Наприклад:
case 1:
Цей блок виконається тільки тоді, коли змінна дорівнює 1
🔹 Навіщо потрібен break?
case 1:
Debug.Log("Shotgun");
break;
break завершує виконання switch. Без нього програма продовжила б перевіряти наступні case
🔹 Default
Іноді значення не підходить під жоден case. Для цього використовується default
switch (weaponId)
{
case 0:
Debug.Log("Pistol");
break;
case 1:
Debug.Log("Shotgun");
break;
default:
Debug.Log("Unknown Weapon");
break;
}
default працює як else
🔹 Приклад з Enum
switch дуже часто використовують разом з enum
public enum EnemyType
{
Zombie,
Skeleton,
Boss
}
switch (_enemyType)
{
case EnemyType.Zombie:
Debug.Log("Zombie");
break;
case EnemyType.Skeleton:
Debug.Log("Skeleton");
break;
case EnemyType.Boss:
Debug.Log("Boss");
break;
}
🔹 Коли використовувати switch?
• Коли перевіряється одна змінна
• Коли можливих значень багато
🔹 Коли краще використовувати if?
• Для складних умов
Наприклад:
if (health > 50 && isAlive)
{
...
}
Такі перевірки через switch робити незручно
switch використовується тоді, коли потрібно виконати різні дії залежно від значення змінної. Якщо у вас багато перевірок через if, їх часто можна замінити на switch
🔹 Приклад через if
if (weaponId == 0)
{
Debug.Log("Pistol");
}
else if (weaponId == 1)
{
Debug.Log("Shotgun");
}
else if (weaponId == 2)
{
Debug.Log("Rifle");
}
Код працює, але коли перевірок стає багато - читати його стає незручно
🔹 Той самий приклад через switch
switch (weaponId)
{
case 0:
Debug.Log("Pistol");
break;
case 1:
Debug.Log("Shotgun");
break;
case 2:
Debug.Log("Rifle");
break;
}
Такий код легше читати та підтримувати
🔹 Що таке case?
case - це значення, яке перевіряється
Наприклад:
case 1:
Цей блок виконається тільки тоді, коли змінна дорівнює 1
🔹 Навіщо потрібен break?
case 1:
Debug.Log("Shotgun");
break;
break завершує виконання switch. Без нього програма продовжила б перевіряти наступні case
🔹 Default
Іноді значення не підходить під жоден case. Для цього використовується default
switch (weaponId)
{
case 0:
Debug.Log("Pistol");
break;
case 1:
Debug.Log("Shotgun");
break;
default:
Debug.Log("Unknown Weapon");
break;
}
default працює як else
🔹 Приклад з Enum
switch дуже часто використовують разом з enum
public enum EnemyType
{
Zombie,
Skeleton,
Boss
}
switch (_enemyType)
{
case EnemyType.Zombie:
Debug.Log("Zombie");
break;
case EnemyType.Skeleton:
Debug.Log("Skeleton");
break;
case EnemyType.Boss:
Debug.Log("Boss");
break;
}
🔹 Коли використовувати switch?
• Коли перевіряється одна змінна
• Коли можливих значень багато
🔹 Коли краще використовувати if?
• Для складних умов
Наприклад:
if (health > 50 && isAlive)
{
...
}
Такі перевірки через switch робити незручно