Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


Convert.ToInt32(), Int32.Parse() ve Int32.TryParse() Farklılıkları

Yazar: Erkan GÜZELKÜÇÜK

Kategori: C#.NET

Eklenme Tarihi: 15.01.2010 10:08:48

Merhabalar, Bu makalemde Convert.ToInt32() , Int32.Parse() ve Int32.TryParse() Farklılıkları’na değineceğim. String tipindeki bir değişkeninizi Integer veri tipine dönüştürürken genelde Convert.ToInt32() Method ve Sınıfını kullanırız. Fakat bu yöntem bazı durumlarda hatalar verecektir. Method ve Sınıflarımızı örneklerle inceleyelim;

Merhabalar, Bu makalemde Convert.ToInt32() , Int32.Parse() ve Int32.TryParse() Farklılıkları’na değineceğim. String tipindeki bir değişkeninizi Integer veri tipine dönüştürürken genelde Convert.ToInt32() Method ve Sınıfını kullanırız. Fakat bu yöntem bazı durumlarda hatalar verecektir.

Method ve Sınıflarımızı örneklerle inceleyelim; ilk olarak dört adet değişken belirleyelim, Değişkenlerin hepsi String veri tipinden değişik veriler içersin.

Degişkenler

 


Convert.ToInt32(); Değer Null olarak geldiğinde sıfır olarak döndürülür. Yukarda ki resmi inceleyerek anlatacak olursak erkan2 değişkeni Format dışarısında olduğu için Convert.Int32() ile döndürülemez bu nedenle uygulandığında FormatException hatası belirir. erkan3 değişkenine bakacak olursak içerisindeki veri Maxvalue değerini aşıyor. Bu nedenle uygulandığında OverFlowException hatası ile karşılaşacaksınız. Şimdi soracaksınız MaxValue ve MinValue Nedir?

– MaxValue: Dokuz basamaklı maksimum değerdir.(örn:999999999)
– MinValue: MaxValue’nin tam tersi eksi yönde dokuz basamaklı minimum değerdir.
(örn: -999999999)

erkan4 değişkenine baktığımızda Convert.Int32() formatlarına uygun veri içeriyor bu nedenle uygulandığında veri tipi Integer’a sorunsuz olarak dönecektir. Basit bir uygulamasını yapalım;

Convert.ToInt32();

Int32.Parse(); Değer Null olarak geldiğinde ArgumentNullException hatası ile karşılaşılır. Eğer değer Integer değilse FormatException hatası ile karşılaşılır. Değişken içerisindeki veri Maxvalue değerini aşıyorsa veya MinValue değerinin altında ise uygulandığında OverFlowException hatası ile karşılaşacaksınız. MaxValue ve MinValue değerlerini yukarıda açıkladım.
Int32.Parse(); ile basit bir uygulama yapalım;

Int32.TryParse(); Değişken Null veya Integer olmayan bir tipte geliyor ise sıfır olarak döndürülür. MaxValue veya MinValue belirtilmemiştir bu nedenle diğer dönüştürme metotlarında karşılaştığımız tüm hatalar Int32.TryParse(); ile sıfır olarak döndürülür.
Bu sebepten dolayı diğerlerine göre daha iyi ve daha faydalıdır.Riskleri en aza indirir.Basit bir örnek ile açıklayalım;
Int32.TryParse();

 


Bu makaleninde sonuna geldik, bir başka makalemde görüşmek üzere .Net ile kalın :)


Kaynak : http://www.codeproject.com


Erkan GÜZELKÜÇÜK
Web Yazılım Geliştirmeni
erkanguzelkucuk(at)hotmail.com
Twitter: erkanguzelkucuk

Yazar Hakkında Yorum Yok Yorum Yaz Yazara ait diğer Makaleler
Tema
Anket
Visual Studio 2010 Beta 2'yi denediniz mi?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.