Хорошо, Ницца отвечает всем, но давайте немного практичны. В вашем собственном коде, т. Е. Коде стороннего производителя, РЕАЛЬНАЯ сила ключевого слова 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 keyoword, заключается в том, что ваш Class реализует 1 или более интерфейсов, и вы хотите явно использовать только один интерфейс:
IMySecond obj = new MyClass as IMySecond
Хотя в этом нет необходимости, он присваивает значение null переменной obj, если MyClass не реализует IMySecond