Начебто було зроблено дуже багато роботи, щоб знайти способи отримати один із найменш використаних синтаксисів C #, щоб якось виглядати краще чи працювати краще. Особисто я вважаю, що оператор перемикання рідко варто використовувати. Я настійно пропоную проаналізувати, які саме дані ви протестуєте та які кінцеві результати бажаєте.
Скажімо, наприклад, що ви хочете швидко перевірити значення у відомому діапазоні, щоб побачити, чи є вони простими числами. Ви хочете, щоб ваш код не марнував обчислення, і ви можете знайти список простих чисел у діапазоні, який ви хочете в Інтернеті. Ви можете використовувати масовий оператор перемикання, щоб порівняти кожне значення з відомими простими числами.
Або ви можете просто створити карту масиву простих чисел та отримати негайні результати:
bool[] Primes = new bool[] {
false, false, true, true, false, true, false,
true, false, false, false, true, false, true,
false,false,false,true,false,true,false};
private void button1_Click(object sender, EventArgs e) {
int Value = Convert.ToInt32(textBox1.Text);
if ((Value >= 0) && (Value < Primes.Length)) {
bool IsPrime = Primes[Value];
textBox2.Text = IsPrime.ToString();
}
}
Можливо, ви хочете побачити, чи символ у рядку є шістнадцятковим. Ви можете використовувати нечесні та дещо великі оператори перемикача.
Або ви можете використовувати або регулярні вирази для тестування char, або скористатися функцією IndexOf для пошуку знака в рядку відомих шістнадцяткових літер:
private void textBox2_TextChanged(object sender, EventArgs e) {
try {
textBox1.Text = ("0123456789ABCDEFGabcdefg".IndexOf(textBox2.Text[0]) >= 0).ToString();
} catch {
}
}
Скажімо, ви хочете виконати одну з 3 різних дій залежно від значення, яке буде діапазоном від 1 до 24. Я б запропонував використовувати набір операторів IF. І якщо це стало занадто складним (Або числа були більшими, наприклад, 5 різних дій залежно від значення в діапазоні від 1 до 90), тоді використовуйте enum для визначення дій та створення карти масиву переліків. Значення буде використано для індексації на карті масиву та отримання суми потрібної дії. Потім використовуйте або невеликий набір операторів IF, або дуже простий оператор переключення для обробки отриманого значення перерахунку.
Також приємна річ у масі масиву, який перетворює діапазон значень у дії, - це те, що її можна легко змінити за кодом. З жорстким провідним кодом ви не можете легко змінити поведінку під час виконання, але з картою масиву це легко.