Оператор Switch() case: сравнение с диапазоном чисел - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Помогите с синтаксисом записи оператора Switch. Мне нужно после case сравнивать не с одним числом, а с диапазоном чисел. Например,
Листинг программы
  1. Switch (b)
  2. {
  3. Case тут диапазон от 1 до 25: операторы(тут понятно);
  4. }
Как записать этот диапазон?

Решение задачи: «Оператор Switch() case: сравнение с диапазоном чисел»

textual
Листинг программы
  1. using System;
  2. using System.Linq;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5.  
  6. namespace ConsoleApplication1
  7. {
  8.     class Program
  9.     {
  10.         static int[] separators = new int[] { 0, 15, 36, 400 };
  11.         static void Main(string[] args)
  12.         {
  13.             for (int i = 1; i < separators.Count(); i++)
  14.                 if( separators[i-1]>separators[i])
  15.                 {
  16.                     Console.WriteLine("диапазон задан немножко криворуко");
  17.                     Console.Read();
  18.                     return;
  19.                 }
  20.  
  21.             int current = new Random().Next(-100, 500);
  22.             switch (GetRange(current))
  23.             {
  24.                 case int.MinValue:
  25.                     {
  26.                         Console.WriteLine("число принадлежит диапазону (" + int.MinValue + ";" + separators[0] + "]");
  27.                         break;
  28.                     }
  29.                 case 1:
  30.                     {
  31.                         Console.WriteLine("число принадлежит диапазону (" + separators[0] + ";" + separators[1] + "]");
  32.                         break;
  33.                     }
  34.                 case 2:
  35.                     {
  36.                         Console.WriteLine("число принадлежит диапазону (" + separators[1] + ";" + separators[2] + "]");
  37.                         break;
  38.                     }
  39.                 case 3:
  40.                     {
  41.                         Console.WriteLine("число принадлежит диапазону (" + separators[2] + ";" + separators[3] + "]");
  42.                         break;
  43.                     }
  44.                 case int.MaxValue:
  45.                     {
  46.                         Console.WriteLine("число принадлежит диапазону (" + separators[2] + ";" + int.MinValue + ")");
  47.                         break;
  48.                     }
  49.             }
  50.  
  51.             Console.Read();
  52.         }
  53.  
  54.         static int GetRange(int value)
  55.         {
  56.             if (value <= separators[0])
  57.                 return int.MinValue;
  58.  
  59.             for (int i = 1; i < separators.Count(); i++)
  60.                 if (value <= separators[i]) return i;
  61.  
  62.             return int.MaxValue;
  63.         }
  64.     }
  65. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы