Merhaba,
bu makalemizde c# dilinde yer alan anahtar kelimelerden(keywords) bazılarını inceleyeceğiz;ne işe yaradıklarını öğrenecek ve her biri için bir adet küçük örnek yapacağız.
Checked ve Unchecked : Bu Operatör tür dönüşümlerini kontrol altında tutmak için kullanılır.Tür dönüşümlerinin yapılabilirliliğini kontrol eder.Yapılamazsa overflow verir ve değişkenlerin eski değerini korur.unchecked; checked içerisinde kontrol etmek istemediklerimiz için kullanılır.
İmplicit ve Explicit : Implicit ve Explicit operator ile bir tipin başka bir tipe çevrilebilirliğini sağlayabiliriz.Base bir class'tan türeyen iki farklı class ı birbirlerine dönüştürmeye yarar.Cannot implicitly convert type x to x hatasinin çözümü bu şekilde sağlanır.
Şimdi Müşteri class'ımızın bir örneğini yaratalım ve değişkenlerini set edelim;
Class İçerisindeki DogumYili değerini bir int değişkene atmaya çalışalım.
bu makalemizde c# dilinde yer alan anahtar kelimelerden(keywords) bazılarını inceleyeceğiz;ne işe yaradıklarını öğrenecek ve her biri için bir adet küçük örnek yapacağız.
Checked ve Unchecked : Bu Operatör tür dönüşümlerini kontrol altında tutmak için kullanılır.Tür dönüşümlerinin yapılabilirliliğini kontrol eder.Yapılamazsa overflow verir ve değişkenlerin eski değerini korur.unchecked; checked içerisinde kontrol etmek istemediklerimiz için kullanılır.
int i=5; byte c; checked { b=(byte)i; unchecked { c=(byte)a; } }
İmplicit ve Explicit : Implicit ve Explicit operator ile bir tipin başka bir tipe çevrilebilirliğini sağlayabiliriz.Base bir class'tan türeyen iki farklı class ı birbirlerine dönüştürmeye yarar.Cannot implicitly convert type x to x hatasinin çözümü bu şekilde sağlanır.
public class Musteri { public int DogumYili{ get; set; } public string Cinsiyet{ get; set; } }
Şimdi Müşteri class'ımızın bir örneğini yaratalım ve değişkenlerini set edelim;
Musteri _musteri=new Musteri();
Class İçerisindeki DogumYili değerini bir int değişkene atmaya çalışalım.
int Yil=DogumYili; -->bu satırda Cannot implicitly convert type Musteri to Int Hatası alırız.
public class Currency { public int DogumYili{ get; set; } public string Cinsiyet{ get; set; } public static implicit operator decimal(Musteri c) { return c.Value; } }yukarıdaki şekilde kullanımda bu sorunu aşabilir ve dönüşüm işlemini gerçekleştirebiliriz.
Yorumlar
Yorum Gönder