Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Условие выполняется один раз в foeach


Автор: WingfirE 11.4.2014, 13:22
Можете подсказать, как можно сделать такое условие, которое выполниться один раз, когда значение переменной Const в foreach вернется true, то есть, чтобы значение true вернулось один раз. Из foreach вынести нельзя
Код

if (Const = (Views & Bases) == Views)
{                                                                                     
if (Status == false)
{
//
}
if (Status == false)
break;
Status = true;
}
else
{
Status = false;
//
}

Автор: jonie 12.4.2014, 19:00
заведите флаг "условие выполнилось" за пределами цикла - по нему и ориентируйтесь. Как только условие выполнится ставьте его в true...

Автор: WingfirE 12.4.2014, 23:51
Цитата(jonie @  12.4.2014,  19:00 Найти цитируемый пост)
заведите флаг "условие выполнилось" за пределами цикла - по нему и ориентируйтесь. Как только условие выполнится ставьте его в true...

Пытался, у меня работает неправильно, можете показать на моем примере

Код

bool Const;
foreach(var Step in List)
{
var Bases =Step.Bases;
if (Const = (Views & Bases) == Views)
{                                                                                     
if (Status == false)
{
//
}
if (Status == false)
break;
Status = true;
}
else
{
Status = false;
//
}

Автор: Veitmen 18.4.2014, 17:01
НЕ знаю правильно ли я Вас понял. Сделайте отдельную функцию.

Код

        public bool Check(IList<string> list, string expression)
        {
            foreach (var item in list)
            {
                if (item == expression)
                {
                    return true;
                }
            }

            return false;
        }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)