全く同じタイプのオブジェクトの2つのリストがあります。 1つは他のものより多くの項目を持っています。私は2つの違いを見つけて、複数の方法を試みましたが、すべてが完全なリストを返すように見えますが、違いは1つ以上のアイテムではありません。同じ種類のオブジェクトの2つのリストの違いを取得
List<Permission> defaultPermList = defaultRole.Permissions.ToList();
foreach (var role in roles)
{
List<Permission> rolePermList = role.Permissions.ToList();
//All 3 below return the full set of defaultPermList. not the difference of the two lists
var permissions1 = defaultPermList.RemoveAll(x => rolePermList.Contains(x));
var permissions2 = defaultPermList.Where(x => !rolePermList.Contains(x)).ToList();
var permissions3 = defaultPermList.Except(rolePermList).ToList();
}
私は数多くの他の質問と回答を見てきました。したがって、私のさまざまな試みをすべて見ました。
これはおそらく同じものを表す異なるオブジェクトです。あなたの 'Equals'メソッドをチェックしてください。あなたの試行は正しいですが、比較は '同じ'オブジェクトと比較して 'false'を評価しています – Rob