タイトル : Re: EqualsメソッドとIs演算子の違い 投稿日 : 2007/07/23(Mon) 13:25 投稿者 : よねKEN
#大吉末吉さんのコメントで十分とも思いますので、蛇足かもしれませんが > If オブジェクト1 Is オブジェクト2 Then ... は以下と等価ですね。 If Object.ReferenceEquals(オブジェクト1, オブジェクト2) Then Equalsメソッドは値が等価かどうかを判定するためのメソッドで、 自分自身のクラスまたは基底クラスのいずれかでオーバーライドしていない場合は、 Object.Equalsの実装が使われるため、結果としてオブジェクトが同一かどうかのテストと 同じになることがあります。 Equalsメソッドの実装内容に関わらず、 > If オブジェクト1.Equals(オブジェクト2) Then ... > If オブジェクト1 Is オブジェクト2 Then ... 上記の2文は、オブジェクト1がNothingの場合に異なりますね。 |