現在のところ、この質問はQ&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 開発ブログ、オンラインコードの例、そして(最近では)本でも、次のようなコードについてつまずきます。 var y = x as T; y.SomeMethod(); さらに悪いことに: (x as T).SomeMethod(); それは私には意味がありません。xタイプがであることが確実な場合はT、ダイレクトキャストを使用する必要があります(T)x。不明な場合は使用できますasがnull、操作を実行する前に確認する必要があります。上記のコードが行うことは、(有用な)InvalidCastExceptionを(役に立たない)に変えることだけですNullReferenceException。 これがasキーワードの露骨な乱用だと思うのは私だけですか?それとも私は明白なものを見逃していて、上記のパターンが実際に理にかなっていますか?