если оператор на foreach

Я замечаю, что делаю этот шаблон много. Существует ли лучший способ записать это?

            bool hit=false;
            foreach (var tag in tags)
                if (tag == sz)
                {
                    hit = true;
                    break;
                }
            if (hit) continue;
            //tags.add(sz); or whatever i wanted to do

Я знаю if sz in tags существуйте на других языках. Я надеюсь, что существует что-то в linq, который может помочь?

7
задан 29 January 2010 в 23:09
поделиться

4 ответа

Для примера:

if (tags.Contains(sz)) ...

для более общей проблемы:

if (tags.Any(tag => InvolvedLogic(tag))) ...
13
ответ дан 6 December 2019 в 07:50
поделиться

Предполагая Метки - это список :

if (tags.Contains(sz))
{
  // ...
}
8
ответ дан 6 December 2019 в 07:50
поделиться

Если вы просто хотите узнать, находится ли данный пункт в метках , сделайте это:

if(tags.Any(t => t == sz))
{
  // Do stuff here
}

Если вы хотите получить ссылку на найденный элемент, сделайте:

var foundTag = tags.FirstOrDefault(t => t == sz);
// foundTag is either the first tag matching the predicate,
//  or the default value of your tag type
2
ответ дан 6 December 2019 в 07:50
поделиться
if (tags.Any(t=>t == sz) == true)
{
   //...
}
0
ответ дан 6 December 2019 в 07:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: