Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2012, 21:57   #1
winhttp
Пользователь
 
Регистрация: 29.07.2012
Сообщений: 98
По умолчанию Условное выполнение одного оператора, если один и более условий истина

Есть допустим 5 переменных. нужно, чтобы при условиях истинных выполнился только один оператор.
В скриптовом языке аутоит есть подобное, там конструкция такого вида
Код:
Select
    Case <expression>
        statement1
        ...
    [Case         statement2
        ...]
    [Case Else
        statementN
        ...]
EndSelect
Цитата:
Если выражение истинно, выполняются операторы, следующие до следующего Case или EndSelect. Если более, чем одно из выражений Case истинно, выполняется только первый блок.
очень удобно. нужно что то подобное на сишарп. есть ли такое?
winhttp вне форума Ответить с цитированием
Старый 01.12.2012, 22:12   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

я ничего не понял. if ... else if ... для этого не подойдёт?
pu4koff вне форума Ответить с цитированием
Старый 01.12.2012, 22:24   #3
winhttp
Пользователь
 
Регистрация: 29.07.2012
Сообщений: 98
По умолчанию

Код:
int a=1;
int b=2;
int c=3;
int d=4;

if (a==1)
{
}
if (b==2)
{
}
if (c==3)
{
}
В данном случае что произойдет? будут выполнены все операторы? а мне нужно, чтобы был выполнен лишь один, если один или более условий верно.
winhttp вне форума Ответить с цитированием
Старый 01.12.2012, 22:35   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

То, что Вы привели - не соответствует посоветованному, ибо у Вас нет else
А вообще, в сишарпе, как и в десятках других языков, есть оператор множественного выбора, и познакомиться с ним легко открыв любой учебник/ман/справку. Оператор Switch .. case, в нём посредством break можно регулировать возможность перехода при нескольких истинных условиях так, как надо.
phomm вне форума Ответить с цитированием
Старый 01.12.2012, 22:44   #5
winhttp
Пользователь
 
Регистрация: 29.07.2012
Сообщений: 98
По умолчанию

Цитата:
Сообщение от phomm Посмотреть сообщение
То, что Вы привели - не соответствует посоветованному, ибо у Вас нет else
А вообще, в сишарпе, как и в десятках других языков, есть оператор множественного выбора, и познакомиться с ним легко открыв любой учебник/ман/справку. Оператор Switch .. case, в нём посредством break можно регулировать возможность перехода при нескольких истинных условиях так, как надо.
а толку с else, если у меня не два условия, а три и более?? об switch знаю, но там проверяется конкретная переменная, а мне нужно проверять все. или запись вида
Код:
switch()
{
case a==1
  break;
case b==2
 break;
case c==3
 break
......




}
будет правильной по вашему?
winhttp вне форума Ответить с цитированием
Старый 01.12.2012, 22:51   #6
winhttp
Пользователь
 
Регистрация: 29.07.2012
Сообщений: 98
По умолчанию

можно это в цикле сделать
Код:
int a=1;
int b=2;
int c=3;
int d=4;

while(true)
{
   if (a==1)
   {
   break;
   }
   if (b==2)
   {
   break;
   }
   if (c==3)
   {
   break;
   }
   else
   {
   break;
   }
}
Но я думал, что может есть что то подобное как в аутоите на си шарп.
winhttp вне форума Ответить с цитированием
Старый 01.12.2012, 23:12   #7
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

То, что Вы говорите, не соответствует изначальному
Цитата:
Сообщение от pu4koff
if ... else if ...
Цитата:
Сообщение от winhttp
а толку с else, если у меня не два условия, а три и более??
см выше ещё раз и _повторять_ до нужной кондиции (повторять else if если я туманно излагаю для Вас).

switch() работает в сишарпе, но мне не доводилось пользоваться, поэтому не могу сказать об ограничениях.

Мой Вам совет - берёте мануал, читаете , пробуете, комбинируете и так до просветления.

Последний раз редактировалось phomm; 01.12.2012 в 23:14.
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объединение двух и более форм в делфи!!! maratos Помощь студентам 25 26.04.2011 09:23
Зацикливание двух и более звуков играющих одновременно cstyle Мультимедиа в Delphi 2 05.05.2010 14:39
Объединение двух и более файлов Morphling Помощь студентам 5 10.02.2010 10:09
Поиск данных в БД от двух и более полей Talemir БД в Delphi 5 20.11.2009 16:58
Несовместимость двух операторов August550 Помощь студентам 16 23.04.2008 21:30