5

次のコード スニペットは同等ですか?

class a
{}

class b:a
{}

b foo=new b();

//ここに来る

foo is a

//... と同じです...

typeof(a).isinstanceoftype(foo)

あるいは、 is 演算子により近い他の型メソッドのマップの 1 つかもしれません。例: "IsAssignableFrom" または "IsSubclassOf"

4

3 に答える 3

6

isは左側の null 参照を許容するため、そうではありません。

于 2010-09-05T20:12:01.723 に答える
4

isinstオペコードisに変換されるのと同じではありませんが、 の通常の仮想呼び出しです。IsInstanceOfType

于 2010-09-05T20:20:58.293 に答える
3

いいえ、ちがいます。実際、覗いてIsInstanceOfTypeみると、一番最初のコード行が実際に を使用して比較を実行していることがわかりisますStackOverflowException

演算子は、IL コードの操作につながりisます。isinst

于 2010-09-05T20:21:18.463 に答える