/// <summary> /// GetUnion 高效地求两个List元素的并集。 /// </summary> public static List <T> GetUnion <T>(IList <T> list1, IList <T> list2) { SortedDictionary <T, int> result = new SortedDictionary <T, int>(); foreach (T tmp in list1) { if (!result.ContainsKey(tmp)) { result.Add(tmp, 0); } } foreach (T tmp in list2) { if (!result.ContainsKey(tmp)) { result.Add(tmp, 0); } } return((List <T>)CollectionConverter.CopyAllToList <T>(result.Keys)); }
/// <summary> /// ConvertAll 将source中的每个元素转换为TResult类型 /// </summary> public static IList <TResult> ConvertAll <TObject, TResult>(IEnumerable <TObject> source, Func <TObject, TResult> converter) { return(CollectionConverter.ConvertSpecification <TObject, TResult>(source, converter, null)); }