/// <summary> /// 權限Distinct比較器 /// </summary> public class PermissionIdComparer : IEqualityComparer<SystemPermissionModel> { public bool Equals(SystemPermissionModel x, SystemPermissionModel y) { if (x == null) { return y == null; } return x.Id == y.Id; } public int GetHashCode(SystemPermissionModel obj) { if (obj == null) { return 0; } return obj.Id.GetHashCode(); } }
把上面這個類做爲Distinct方法的參數傳入便可。spa
其實是定義了一個比較器,集合在調用Distinct方法時,會自動使用咱們傳入的這個自定義比較器進行比較。code
permissions = permissions.Distinct(new PermissionIdComparer()).ToList();