Фильтрация массива коллекций по одному из полей - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Имеем: коллекцию -
List<Obj> manyObjs;
массив -
string[] manyStrs;
Задача: произвести фильтрацию (в коде наглядно)
List<Obj> needObjs = new List<Obj>();
 
for (int i = 0; i < manyStrs.Length; i++)
{
 List<Obj> objs = manyObjs.FindAll(obj => obj.Property == manyStrs[i]);
 needObjs = needObjs.Concat(objs).ToList();
}
return needObjs;
Вопрос: Закрадываются смутные сомнения, что как-то можно оптимизировать сей код. Возможно подобную фильтрацию можно в одном каком-нибудь методе совершать или как-то более компактно?

Решение задачи: «Фильтрация массива коллекций по одному из полей»

textual
Листинг программы
List<obj> needObjs = (from item in manyObjs where manyStrs.Contains(item.Property) select item).ToList();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.615 из 5
Похожие ответы