public static List <T> CFilter <T>(this IEnumerable <T> source, CFilterAction <T> testAction) { var items = new List <T>(); if (source != null) { foreach (T item in source) { if (testAction(item)) { items.Add(item); } } } return(items); }
public static Dictionary <T, K> CFilter <T, K>(this IEnumerable <KeyValuePair <T, K> > source, CFilterAction <T, K> testAction) { var items = new Dictionary <T, K>(); if (source != null) { foreach (KeyValuePair <T, K> pair in source) { if (testAction(pair.Key, pair.Value)) { items.Add(pair.Key, pair.Value); } } } return(items); }