Değişkenler ve Veri Tipleri 2
Değişken Tiplerini Nasıl Öğrenebiliriz
GetType metodu
TypeOf metodu
TİP DÖNÜŞÜMLERİ (Castıng)
Farklı tipteki veriler üzerinde çalışılırken karşılaştırma, mantıksal ve aritmetiksel işlemler için türler arası dönüşüm yapılması gerekir.
Bu işleme Tip Dönüşümü (casting) adı verilir. Başka bir deyişle; Tip dönüşümü, bir veri tipinin bir başka veri tipine dönüştürülmesidir.
C# programlama dilinde 4 (dört) adet tip dönüşümü bulunmaktadır.
- Örtülü/Otomatik Dönüşüm (Implicit Conversions)
- Açık/Manuel Dönüşüm (Explicit Conversions)
- Kullanıcı Tanımlı Dönüşüm (User-defined conversions)
- Yardımcı Sınıflarla Dönüşüm (Conversions with helper classes)
Örtülü/Otomatik Dönüşüm (Implicit Conversions)
Dönüşecek değişkenin bellekte kapladığı alan, dönüştürülmek istenen değişken tipinin kapsadığı alandan daha küçük ise bu dönüşüm işlemi C# tarafından otomatik olarak gerçekleştirilir.
Örtülü/Otomatik Dönüşüm (Implicit Conversions) İşlemini Destekleyen Veri Tipleri
byte = short, int, long, float, double
short = int, long, float, double
int = long, float, double
long = float, double float double
Açık/Manuel Dönüşüm (Explicit Conversions)
Dönüşecek değişkenin bellekte kapladığı alan, dönüştürülmek istenen değişken tipinin kapsadığı alandan daha büyük ise bu dönüşüm işlemi C# tarafından otomatik olarak gerçekleştirilemez.
Ayrıca bu durum programda derleme hatasına sebep olur.
Dönüşecek değişkenin değerinin, dönüştürülmek istenen hedef veri tipinin değer aralığında olduğu biliniyor ise manuel dönüşüm işlemi gerçekleştirilerek derleyicinin bu işlemi hata olarak algılamaması sağlanabilir. Bunun için atama işlemi esnasında dönüştürülmek istenen değişkenin önüne parantez sembolü içerisinde değişken tipi ifadesi eklenir. Bir örnek ile bu işlemi açıklamak için "double" veri tipinden "int" veri tipine dönüşüm sürecini ele alalım.
- double veri tipinde tanımlanmış “DoubleSayi” isimli değişkenin bellekte kapladığı alan 8 byte’dır.
- int veri tipinde tanımlanmış olan IntSayi isimli değişkenin bellekte kapladığı alan 4 byte’dır.
- DoubleSayi değişkeninin değeri IntSayi isimli değişkene aktarılmak istendiğinde; double tipindeki değişken bellekte 8 byte’lık alandan 4 byte’lık alana taşınacağından dolayı veri kaybı söz konusu olacaktır. Çünkü değişken kendisinden daha küçük bir alana taşınmak istenmektedir.
- Bu sebeple C# bu işlemi gerçekleştirilmeyecek ve bir derleme hatası olarak değerlendirilecektir.
Parse metodu
String veri tipindeki bir değişkenin değerini farklı bir değişken türüne dönüştürmek için kullanılır.
Parse metodu kullanılırken dönüşecek değişkenin değerinin null olmaması ve değerinin hedef değişkenin değer aralığında olması gerekmektedir.
TryParse metodu
İşlevi Parse komutu ile aynıdır. Tek farkı; Dönüşecek değişkenin değerinin null veya değer aralığı dışında olması ya da değişkenin farklı bir değişken tipine ait olması durumunda meydana gelecek hatada geriye 0 (sıfır) değeri döndürmesidir. out eki ile birlikte kullanılır ve sonuç out referanslı değişkene aktarılır.
Convert Sınıfı
Değişken tipleri arasında dönüşüm yapmak için kullanılan bir sınıftır.
- ToBase64String() Verilen bir string değeri Base64 şifreleme tipine dönüştürür.
- FromBase64String() Base64 şifreleme tipinden “string” tipine dönüştürme yapar.
- ToBoolean() Boolean tipine dönüştürme yapar.
- ToByte() Byte tipine dönüştürme yapar.
- ToChar() Char tipine dönüştürme yapar.
- ToDateTime() Tarih ve zaman tipine dönüştürme yapar.
- ToDecimal() Decimal tipine dönüştürme yapar.
- ToDouble() Double tipine dönüştürme yapar.
- ToInt16() Int16 tipine dönüştürme yapar.
- ToInt32() Int32 tipine dönüştürme yapar.
- ToInt64() Int64 tipine dönüştürme yapar.
- ToSByte() SByte tipine dönüştürme yapar.
- ToSingle() Single tipine dönüştürme yapar.
- ToString() String tipine dönüştürme yapar.
- ToUInt16() UInt16 tipine dönüştürme yapar.
- ToUInt32() UInt32 tipine dönüştürme yapar.
- ToUInt64() UInt64 tipine dönüştürme yapar.
Hiç yorum yok:
Yorum Gönder