Оператор 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;
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д