0 / 0 / 0
Регистрация: 08.09.2012
Сообщений: 26

Целесообразность смены If на Switch

23.04.2013, 10:22. Показов 709. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые друзья, подскажите пожалуйста

Есть рабочий, выполняющий нужные мне функции код.

C#
1
2
3
4
5
6
7
Console.WriteLine("Сколько преприятий в сети?");
КоличествоПредприятий =Convert.ToInt32(Console.ReadLine());
if (КоличествоПредприятий >= 3 & КоличествоПредприятий <= 20) СетевойКоэф = .95;
if (КоличествоПредприятий >= 21 & КоличествоПредприятий <= 50) СетевойКоэф = .9;
if (КоличествоПредприятий >= 51 & КоличествоПредприятий <= 100) СетевойКоэф = .85;
if (КоличествоПредприятий > 100) СетевойКоэф = .8;
Console.WriteLine("Сетевой коэффициент равен: " + СетевойКоэф + "\n");
Я вроде как и понимаю, что столько If это не грамотно и использовать надо тут Switch. Но хочу спросить Вашего совета стоит ли в таких случаях его использовать, и если да, то как? Я попробовал, не работает что то, поэтому и сделал на If всё))

Благодарю за внимание.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.04.2013, 10:22
Ответы с готовыми решениями:

Как сделать чтобы Switch работал в другом Switch'e?
Как сделать что бы Switch работал в другом Switch'e? Вот допустим выбираем один пункт и в зависимости от выбранного нами пункта последующие...

Switch . Как присвоить переменной значение из Switch в default
Добрый день подскажите как реализуется данный код . Как взять значение switch если выпал default ? public int Parse() { int...

Рефакторинг switch внутри switch в static классе
Добрый день. Подскажите, как корректно обойти конструкцию switch case внутри switch case в статическом классе. Наткнулся на stackoverflow...

5
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
23.04.2013, 10:34
switch-case не подходит для интервалов
1
146 / 143 / 32
Регистрация: 21.01.2012
Сообщений: 545
23.04.2013, 10:42
свич для перечислений в основном. Для Вашей задачи я бы сделал подсчет сетевого коэффициента в свойстве set количества предприятий

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Predpriyatiya()
{
public КоличествоПредприятий 
{
get;
set
{
if (value >= 3 & value <= 20) СетевойКоэф = .95;
if (value >= 21 & value <= 50) СетевойКоэф = .9;
if (value >= 51 & value <= 100) СетевойКоэф = .85;
if (value > 100) СетевойКоэф = .8;
}
}
 
public СетевойКоэф
{
get;
private set;
}
 
//...
}
1
 Аватар для Дмитрий3241
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
Записей в блоге: 6
23.04.2013, 11:13

Не по теме:

Можно сэкономить одну строчку:

C#
1
2
3
4
if ( КоличествоПредприятий >= 3 & КоличествоПредприятий <= 20 ) СетевойКоэф = .95;
else if ( КоличествоПредприятий >= 21 & КоличествоПредприятий <= 50 ) СетевойКоэф = .9;
else if ( КоличествоПредприятий >= 51 & КоличествоПредприятий <= 100 ) СетевойКоэф = .85;
else СетевойКоэф = .8;
:)
Нельзя.



Добавлено через 1 минуту
Писать название переменных на русском языке это не есть хорошо.
1
0 / 0 / 0
Регистрация: 08.09.2012
Сообщений: 26
23.04.2013, 11:17  [ТС]
Благодарю за ответы. Ну, а всё же могу ли я оставить так как сделано сейчас у меня? Я пока учусь, но знаю по VBA, что то, что работает не значит что оно правильно сделано, поэтому не хочу привыкать делать криво.

Что касается переменных на русском понимаю, просто опять таки пока учусь, что бы не запутаться))
0
 Аватар для Дмитрий3241
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
Записей в блоге: 6
23.04.2013, 11:20
Да вполне нормально, промежутки как вам уже писали выше можно обрабатывать только if-else условиями.
Переменные нужно называть по английский используя стиль lowerCamelCase. Для методов и названий классов UpperCamelCase. Потом привыкните, со временем.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.04.2013, 11:20
Помогаю со студенческими работами здесь

Целесообразность железок
Господа, мой компуктер: Мать: msi h61m-p31 g3 (1155 сокет) Проц : Pentium g620 (Sandy Bridge) Видеокарта: 1050 Ti ОЗУ: 4gb ...

Целесообразность ссылок
Кто продвигает сайты не только в Яндексе, но и в Гугле наверняка об этом задумывался. Так вот мое ИМХО Сейчас продвигаю 3 сайта...

Целесообразность апгрейда
Интересует также целесообразность апгрейда, и чтобы не создавать новую тему - спрошу здесь. Использую компьютер для редактирования видео в...

Целесообразность апгрейда ноутбука
Доброго времени суток! Имеется ноутбук TOSHIBA Satellite C660-A6K, купленный около 5-6 лет назад. Характеристики: Процессор...

Целесообразность перегрузки оператора
Изначально имелся такой вот метод (пусть будет методом класса &quot;A&quot;): //класс &quot;A&quot;, константная версия метода const Order...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru