0

重複の可能性:
直接キャストと'as'演算子?

まず、これが重複している場合は申し訳ありません。グーグルで検索しようとしましたが、簡単な「グーグルで行う」ことはできません。

次のコードフラグメントの間に違い(機能的、パフォーマンス面など)がありますか?

MyClass myClass = (MyClass)someObject;

MyClass myClass = someObject as MyClass;
4

2 に答える 2

9

はい、違いがあります!

キャストが失敗した場合演算子は変数をnullに設定します

明示的なキャストは例外を発生させます

于 2012-09-13T11:31:50.807 に答える
1

はい、最初のバリアントは、「someObject」を「MyClass」にキャストできない場合、例外をスローします。一方、2番目はnullを返します。

于 2012-09-13T11:32:27.003 に答える