C#の参照IDとは何ですか?[複製]

Dec 08 2020

演算子(==)とEquals()メソッドの違いを探しています。多くのリソースは、演算子(==)が参照IDを比較すると述べています。実際の参照IDとは何ですか?

回答

OlivierRogier Dec 08 2020 at 21:48

重複に加えて、質問は私が見つけたものにさらに特化しているので、私はこの回答を投稿します。

簡単に言うと、2つの変数が同じ内容を指しているかどうかに関係なく、参照IDはメモリアドレスの同等性です。たとえば、住所やコップ一杯の水などです。参照はそれらを管理することを忘れる隠されたポインタだからです。

GCは、メモリ内のオブジェクトのインスタンスの管理を容易にし、使用しなくなったオブジェクトを破棄/解放することを忘れるための上位層でもあります。

演算子==は、参照の代わりに値を比較するためにオーバーロードできるため、onメソッドobject Equals()とReferenceEquals()メソッドがあります。

ここにいくつかのチュートリアルがあります:

C#-データ型

C#-変数

値型と参照型

CLRオブジェクトの参照カウントを取得するにはどうすればよいですか?