Оператор Switch() case: сравнение с диапазоном чисел - C#
Формулировка задачи:
Добрый день. Помогите с синтаксисом записи оператора Switch.
Мне нужно после case сравнивать не с одним числом, а с диапазоном чисел.
Например,
Как записать этот диапазон?
Switch (b) { Case тут диапазон от 1 до 25: операторы(тут понятно); }
Решение задачи: «Оператор Switch() case: сравнение с диапазоном чисел»
textual
Листинг программы
using System; using System.Linq; using System.Collections; using System.Collections.Generic; namespace ConsoleApplication1 { class Program { static int[] separators = new int[] { 0, 15, 36, 400 }; static void Main(string[] args) { for (int i = 1; i < separators.Count(); i++) if( separators[i-1]>separators[i]) { Console.WriteLine("диапазон задан немножко криворуко"); Console.Read(); return; } int current = new Random().Next(-100, 500); switch (GetRange(current)) { case int.MinValue: { Console.WriteLine("число принадлежит диапазону (" + int.MinValue + ";" + separators[0] + "]"); break; } case 1: { Console.WriteLine("число принадлежит диапазону (" + separators[0] + ";" + separators[1] + "]"); break; } case 2: { Console.WriteLine("число принадлежит диапазону (" + separators[1] + ";" + separators[2] + "]"); break; } case 3: { Console.WriteLine("число принадлежит диапазону (" + separators[2] + ";" + separators[3] + "]"); break; } case int.MaxValue: { Console.WriteLine("число принадлежит диапазону (" + separators[2] + ";" + int.MinValue + ")"); break; } } Console.Read(); } static int GetRange(int value) { if (value <= separators[0]) return int.MinValue; for (int i = 1; i < separators.Count(); i++) if (value <= separators[i]) return i; return int.MaxValue; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д