Advertisement
Guest User

Untitled

a guest
May 25th, 2019
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.86 KB | None | 0 0
  1. // Самый компактный способ получения коллекции
  2. private IEnumerable<MyItem> GetActiveItems() => m_items.Where(it => it.IsActive);
  3.  
  4. // Использование
  5. private void DoSomething()
  6. {
  7.     // Результат тот же самый, что и у вас. Возможен небольшой выигрыш в скорости выполнения
  8.     // из-за оптимизированного метода ToList
  9.     var activeItemsList = GetActiveItems.ToList();
  10.     // То же самое, но выборка сохраняется в массив.
  11.     var activeItemsArray = GetActiveItems.ToArray();
  12. }
  13.  
  14. // Эквивалентный вариант. Более похожий на ваш.
  15. private IEnumerable<MyItem> GetActiveItems2()
  16. {
  17.     foreach (var it in m_items)
  18.     {
  19.         if (it.IsActive)
  20.         {
  21.             yield return it;
  22.         }
  23.     }
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement