9 November 2025 Sunday 10:48:31


C# İle Is ve As Operatörlerinin Kullanımı

C# İle Is ve As Operatörlerinin Kullanımı

Program yazarken yapılan bir cast işleminde tip ile ilgili bir dikkat gözden kaçırıldığında tip uyuşmazlığı hatası alınmaktadır. Bu tarz bir hata çalışma anında programın kırılmasına yol açmaktadır. Is ve as operatörleri bu noktada bizlere tipler üzerinde kontrol yapma olanağı sağlamaktadır. Öncelikle hatalı bir çevirme işlemi yapalım.

 

www.hikmetokumus.com


Yukarıda görüldüğü gibi bu şekilde yapılan hatalı bir cast işlemi sonrasında InvalidCastException hatası alınacaktır. Bu hatadan yola çıkarak öncelikle Is operatörünü inceleyelim.

Is operatörü cast işlemi ile dönüşüm yapılacak değişken tiplerini kontrol eder. Kontrol sonrasında geriye bool bir değer döndürür. Yukarıdaki örneği Is operatörü ile tekrar uygulayalım.

private void button1_Click(object sender, EventArgs e)  
{  
    Object Deger = true;  
    Kisiler Kisi = null;  
      
    if(Deger is Kisiler)  
    {  
        Kisi = (Kisiler)Deger;  
    }  
}  

Burada Deger değişkeninin tipi is operatörü ile kontrol edilmektedir. Eğer sonuc true olursa cast işlemi yapılacaktır. Bu sadeye Exception hatasının önüne geçilmiş olunacaktır.

 

www.hikmetokumus.com

 

As operatörü ise is operatörü ile benzer bir şekilde çalışmaktadır. Arasındaki fark, is operatörü kontrol ile bool bir değer döndürürken as operatörü ilgili tipin referansını döndürmektedir. Eğer yapılan cast işlemi hatalı ise null değerini döndürmektedir.

private void button1_Click(object sender, EventArgs e)  
{  
    Kisiler Kisi = new Kisiler();  
    Kisi.Ad = "Ali";  
    Kisi.Soyad = "Can";  
  
    Object Obj = Kisi as Kisiler;  
  
    if (Obj != null)  
    {  
        MessageBox.Show("Çeviri başarılı.");  
    }  
    else  
    {  
        MessageBox.Show("Çeviri başarısız.");  
    }  
}  

 

www.hikmetokumus.com

Cast işleminin hatalı olması durumunda ise null değerini döndüreceğini söylemiştik. Aşağıda hatalı bir cast işleminin çıktısı yer almaktadır.

 

www.hikmetokumus.com

Is ve as operatörlerini kullanarak programda oluşabilecek bu ve benzeri hataların önüne geçebilirsiniz.

img

ibrahim ÖZKAN