То, что вы видите здесь, является лямбда-выражением. Select()
будет вызывать для каждого элемента код в его теле. Когда se.Tag
удовлетворяет некоторым критериям, он будет искать объект в modelEntries.
Вы можете написать это утверждение также как:
var results = new List<ModelEntry>(); // <-- i don't know the exact type.. (wild guess)
foreach(var se in swimEntries)
{
if (se.Tag == "DM+" || se.Tag == "DM-")
{
var modelEntry = modelEntries.Find(e => e.Tag == se.Tag);
results.Add(modelEntry);
}
else
results.Add(se);
}
или если вы хотите сохранить Select оператор, вы можете сохранить тело в отдельной функции:
private ModelEntry SearchForSomething(ModelEntry se)
{
if (se.Tag == "DM+" || se.Tag == "DM-")
{
var modelEntry = modelEntries.Find(e => e.Tag == se.Tag);
return modelEntry;
}
return se;
}
var results = swimEntries.Select(SearchForSomething).ToList();