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

Yazar: Erkan GÜZELKÜÇÜK
Kategori: C#.NET & VB.NET
Eklenme Tarihi: 15.1.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


Erkan GÜZELKÜÇÜK

Erkan GÜZELKÜÇÜK, 2007-2009 Yılları arasındaINETA MEA Grup Liderliği yapmıştır şuan da INETA MEA / DeveloperMania.NetTeknik Lider & Editör görevini üstlenmektedir. Ayrıca Yazgelistir.com ve Yazilimgunlugu.com sitelerinde Yazar, Kariyervideo.com sitesinde ise Eğitmen olarak görev yapmaktadır.


ayhan kara - 25.11.2011
Gayet güzel

Yorumunuz