Оператор 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;
        }
    }
}

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


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

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

12   голосов , оценка 4.167 из 5
Похожие ответы