Bir çok uygulamada özellikle de uygulamalarin sunum (presentation) katmaninda asagidakine benzer kod parçalari görüyorum.
for(int i = 0; i < this.Controls.Count; i++)
{
try
{
TextBox btn = this.Controls[i];
}
catch
{
}
}
Yani bir tür dönüsümünün geçerli olup olmadigi try-catch bloklari ile çözülmeye çalisiyor. Evet, bu yöntem istenilen sonuca ulastirir ama try-catch blogu çokta amaci dogrultusunda kullanilmamistir. Hepiniz biliyorsunuki try-catch bloklari sadece istisnai durumlari düzenlemek için kullanilmalidir. Ama bir button nesnesini textbox nesnesine atamak çok ta istisnai bir durum degildir. Bu tür durumlar için C#'taki as operatörü biçilmis kaftandir. Bakiniz, yukaridaki kod asagidaki sekilde yazilirsa daha güzel ve daha okunabilir olacaktir.
for(int i = 0; i < this.Controls.Count; i++)
{
TextBox btn = this.Controls[i] as TextBox;
if(btn != null)
{
//isleme devam
}
}
Yalniz unutmamak gerekir ki, as operatörü sadece referans türleri ile birlikte kullanilabilir.