TryParse Metodu İle Tip Dönüşümü

C# mimarisi temel tipler üzerinde birçok dönüşüm fonksiyonları ve teknikleri barındırmaktadır. Bu yazımızda sizlere bu işlemi gerçekleştiren onca teknikten biri olan TryParse fonksiyonundan bahsedeceğim. Bu metotta anlatacağım yöntemleri bildiğimiz teknik ve yöntemlerle gerçekleştirebildiğimizi öncelikle belirtmekte fayda var.

Biliyoruz ki, değer tipli değişkenlerimiz içerisinden “string” tipi birçok sırra vakıftır. Aslında bir referans tipi olmasıyla beraber birçok özelliğine yer yer değindiğimiz bir tiptir.

Değer dönüşümlerinde Convert veyahut Parse metodları aracılığıyla dönüşüm gerçekleştirirken “string” ifadelerde bir mantığa dikkat etmemiz gerekiyordu. “123” ifadesi ile “123a” ifadesi arasında değer tipi olarak hiç bir fark olmasada bu iki ifadenin değersel farkı mevcuttu. Tamam, “123” ile “123a” bir string tipte değer olarak tutulacaktır, ona şüphe yok lakin bu iki ifadeden “123”, “int” tipinden değerlere karşı gelmekteyken diğeri(123a) sadece ve sadece “string” bir değere karşılık gelmektedir.

Genellikle eğitim süreçlerinde ilk konular olan bu çevirim işlemlerinde öğrencilere bu meseleyi idrak etmeye çalışmak biraz şok etkisi yaratabilmektedir. Herneyse…

İşte bu tarz durumlarda Convert – Parse işlemlerinde hata almamız olası durumdur. TryParse metodu ile “string” tipteki bir veriyi ilgili tipe çevirebilmekteyiz. Çevirme esnasında yukarıda bahsettiğim olası duruma karşılık size temel kontrol yapılarını kullanarak işlevsel hareket etmenizi sağlayan bir metod yapısıdır.

Bütün değer tiplerinde kullanabileceğiniz bu metoda değişkenin tipi üzerinden erişebilmekteyiz.

Örneğin;

int.TryParse()
bool.TryParse()
char.TryParse()

Prototip olarak aşağıdaki gibidir.

tip.TryParse("dönüşüm yapmak istediğiniz string değer", dönüştürülmüş değeri tutacak değişken)

Yukarıda prototipi incelersek eğer, metodun birinci parametresinde string değerimizi belirtiyoruz. Bu değer “123(int)”, “true(bool)”, “a(char)” vs. gibi bir değer olabilir. Eğer dönüşüm belirtilen tipe başarılı gerçekleştirilirse ikinci parametredeki out parametre olarak belirteceğimiz değişkene yeni tipteki değeri atayacaktır.

Bundan sonra aşağıdaki kod bloğunu incelemeniz yeterli olacaktır.

            int Sayi;
            bool Sonuc = int.TryParse("123", out Sayi);
            if (Sonuc)
            {
                //Dönüşüm gerçekleştirildi.
                Console.WriteLine("Dönüşüm gerçekleştirildi.");
            }
            else
            {
                //Dönüşüm mümkün değilse burası tetiklenecektir.
                Console.WriteLine("Dönüşüm gerçekleştirilemedi.");
            }

Başka bir tipte örnek vermek gerekirse,

            bool x;
            bool Sonuc = bool.TryParse("false", out x);
            if (Sonuc)
            {
                Console.WriteLine(x);
            }
            else
            {
                Console.WriteLine(x);
            }

yeterli olacaktır.

Hepinize iyi çalışmalar dilerim…

Bunlar da hoşunuza gidebilir...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

Copy Protected by Chetan's WP-Copyprotect.