重複が見つかった場合に重複とオリジナルを削除したいカスタムタイプのリストがあります。可能な重複は 1 つだけです。
Equals と GetHashCode をオーバーライドしてから Distinct を使用できますが、これは重複を削除するだけです。オリジナルと複製の両方を削除する必要があります... エレガントなもののアイデアがあれば、ハンマーを使用する必要はありません。
重複が見つかった場合に重複とオリジナルを削除したいカスタムタイプのリストがあります。可能な重複は 1 つだけです。
Equals と GetHashCode をオーバーライドしてから Distinct を使用できますが、これは重複を削除するだけです。オリジナルと複製の両方を削除する必要があります... エレガントなもののアイデアがあれば、ハンマーを使用する必要はありません。
GroupBy
に続いて、Where (g => g.Count() == 1)
重複のあるすべてのレコードを除外するために使用できます。
var res = orig.GroupBy(x => x).Where(g => g.Count() == 1).Select(g => g.Key);
これが機能するためには、 と をオーバーライドする必要がありGetHashCode
ますEquals
。
var itemsExistingExactlyOnce = list.GroupBy(x => x)
.Where(group => group.Count() == 1)
.Select(group => group.Key);