Я замечаю, что делаю этот шаблон много. Существует ли лучший способ записать это?
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, который может помочь?
Для примера:
if (tags.Contains(sz)) ...
для более общей проблемы:
if (tags.Any(tag => InvolvedLogic(tag))) ...
Предполагая Метки
- это список
:
if (tags.Contains(sz))
{
// ...
}
Если вы просто хотите узнать, находится ли данный пункт в метках
, сделайте это:
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