编写工具类 public class DistinctUtil { public static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) { Map<Object, Boolean> seen = new ConcurrentHashMap<>(); return t -> seen.putIfAbsent(keyExtractor.apply(t
感谢下面这篇博文给我的思路: http://www.cnblogs.com/daimage/archive/2012/04/10/2440186.html 上面文章的博主给出的代码是可用的,但是调用方法时需要写的代码过于冗长,例如博主给出的示例代码 var name = TypeInfoHelper.GetClassPropertiesName<MyClass,List<string>>(s => myClass.UserName); 代码中的List<string&g
其他扩展方法详见:https://www.cnblogs.com/zhuanjiao/p/12060937.html IEnumerable的Distinct扩展方法,当集合元素为对象时,可用于元素对象指定字段进行排重集 一.通过指定单个属性进行去重. using System; using System.Collections.Generic; using System.Linq; namespace CoSubject.Common.CommonExtensions { /// <summa