tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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の場合に異なりますね。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。