わかりました ナイスは全員に返信しますが、少し実用的にしましょう。独自のコード、つまりベンダー以外のコードでは、AS キーワードの真の力は前面に出てきません。
しかし、WPF/silverlight のようにベンダー オブジェクトを扱う場合、AS キーワードは本当に便利です。たとえば、キャンバスに一連のコントロールがあり、最後に選択したコントロールを追跡したいが、キャンバスをクリックすると追跡変数をクリアする場合、次のようにします。
private void layoutroot_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
//clear the auto selected control
if (this.SelectedControl != null
&& sender is Canvas && e.OriginalSource is Canvas)
{
if ((sender as Canvas).Equals(( e.OriginalSource as Canvas)))
{
this.SelectedControl = null;
}
}
}
AS キーワードを使用するもう 1 つの理由は、クラスが 1 つ以上のインターフェイスを実装し、1 つのインターフェイスのみを明示的に使用する場合です。
IMySecond obj = new MyClass as IMySecond
ここでは特に必要ありませんが、MyClass が IMySecond を実装していない場合、変数 obj に null が割り当てられます。