/// <summary> /// Adds a range of items to the list filtered by condition specified by checker is satisfied. /// </summary> /// <typeparam name="T">Type</typeparam> /// <param name="list">Source List</param> /// <param name="items">Items to add</param> /// <param name="condition">Function to check condition</param> public static void AddRangeIf <T>(this List <T> list, IEnumerable <T> items, Predicate <T> condition) { EnsureAddArgumentsNotNull(list, condition); if (items == null) { throw new ArgumentNullException("items"); } foreach (var item in items) { list.AddIf(item, condition); } }