Top > プログラミング > .NET Tips> 自作クラスのEqualsメソッドをオーバーライドして、等価の定義を変更する

自作クラスのEqualsメソッドをオーバーライドして、等価の定義を変更する」への評価、コメント

評価

良い / 悪い = 11 / 1 (「良い」の割合 = 0.917 , 人気度 = 0.990

評価する

コメント一覧


通常のコメント
匿名 2017/04/14 (Fri) 11:44:44
> 値型の場合Equalsメソッドは、ビット等価(バイナリ表現が同じ)のときにtrueを返します。

正確にはビット等価と、リフレクションによるフィールドごとのEqualsの二通りがあるようです。
構造体に隙間がなく、ポインタを含まない場合にのみビット等価が使われるようです。
ビット等価が使われる場合は速く、リフレクションが使われる場合は劇的に遅くなります。

通常のコメント
管理人 2012/03/20 (Tue) 00:35:13
> 誤: Equals を実装するなら IComparable を実装
> 正: IComparable を実装するなら、Equals を実装
> MSDN 日本語版の翻訳の間違いのようですね。

本家の方まで調べていませんでした。ご指摘、ありがとうございました。修正しておきます。

通常のコメント
seo 2011/12/6 (Tue) 17:52:34
誤: Equals を実装するなら IComparable を実装
正: IComparable を実装するなら、Equals を実装
MSDN 日本語版の翻訳の間違いのようですね。

コメントの投稿

[説明]