C# Tür Dönüşümleri – Bilişim & Programlama
C#

C# Tür Dönüşümleri

Tür dönüştürme, bir veri türünü başka bir türe dönüştürmektir. C#’da tür dönüşümü kapalı ve açık olarak iki şekli mevcuttur.

Kapalı tür dönüşümü

Kapalı tür dönüşümü, derleyici tarafından otomatik olarak yapılır. Gizli dönüşüm için, el ile hiçbir şey yapmak zorunda değiliz. Kapalı dönüşüm sırasında, bilgi kaybı olmaz ve dönüştürme tamamlandığında taşma istisnası atma olasılığı yoktur.

Burada dikkat edilmesi gereken nokta şudur.Bellek alanı küçük türlerin daha büyük türlere dönüştürüldüğüdür.

 

Açık tip dönüşüm

Açık dönüşüm, bir veri türünden başka bir veri türüne manuel olarak dönüştürmemiz gereken dönüşümdür. Derleyici bizim için dönüşüm yapmaz.

Örneğin, bir float veri türünü int veri türüne dönüştürdüğümüzde, kesirli kısmı (bilgi kaybı) kaybeder ve ayrıca bir taşma istisnası atma olasılığı vardır.

Derleyicinin bizim için dönüşüm yapmamasının ana sebebi budur ve dönüşümü açıkça yapmak zorundayız.

Bir veri türünü başka bir veri türüne açıkça dönüştürebilmemizin 2 yolu vardır.

  • Tür Cast Operatörleri
  • Convert Sınıfı Metotları

Tür Dönüşüm Operatörleri

Tip Cast operatörü, bir veri türünü başka bir veri türüne açıkça dönüştürmek için kullanılabilir. Bir veri türünü bir veri türünü başka bir veri türüne dönüştürmek için bir tip dönüşüm operatörü kullandığımızda, dönüşüm için kullanılan sayı beklenen aralıktan daha büyükse, istisna olmaz. Sadece rastgele bir negatif değer verir.

Çıktı: 74

 

Convert Sınıfı

Convert class ayrıca bir veri türünü başka bir veri türüne açıkça dönüştürmek için de kullanılabilir. Bir veri türünü başka bir veri türüne dönüştürmek için bir Convert sınıfı kullandığımızda, dönüştürücü, kullanılan değer, beklenen aralığın dışındaysa, işlenmeyen bir istisna oluşturur.

C# Convert Sınıfı Metotları

Convert sınıfı aşağıdaki statik tip dönüştürme metotlarını içerir.

S Metot ve Tanımı
1 ToBoolean

Mümkün olan bir türü bolean türüne dönüştürür..

2 ToByte

Bir tipi byte dönüştürür.

3 ToChar

Türü mümkünse tek karaktere dönüştürür.

4 ToDateTime

Türü tarih-zaman yapısına dönüştürür.

5 ToDecimal

Türü ondalıklı desimal sayı formatına dönüştürür.

6 ToDouble

türü ondalıklı double sayı türüne dönüştürür.

7 ToInt16

Türü 16 bit tam sayı formatına dönüştürür.

8 ToInt32

Türü 32 bit tam sayı formatına dönüştürür.

9 ToInt64

Tür 36 bit tam sayı formatına dönüştürür.

10 ToSbyte

Tür işaretli byte formatına dönüştürür.

11 ToSingle

Türü ondalıklı sayı formatına dönüştürür.(float)

12 ToString

Tür string formatına dönüştürür.

13 ToType

Türü istenilen tür formatına dönüştürür.

14 ToUInt16

Türü işaretsiz 16 bit tam sayı formatına dönüştürür.

15 ToUInt32

Türü işaretsiz 32 bit tam sayı formatına dönüştürür.

16 ToUInt64

Türü işaretsiz 34 bit tam sayı formatına dönüştürür.

 

Ayrıca String formatındaki bir sayıyı 2 metot ile sayıya dönüştürebilirsiniz.

C# Parse Metodu

Parse yöntemi, dize formatındaki bir sayının bir tamsayı formatına dönüştürülmesi için kullanılabilir. Bir ayrıştırma yöntemi kullandığımızda derleyici, değeri ayrıştırılamıyorsa bir istisna atar. Örneğin, sayı herhangi bir dize değeri içeriyorsa, derleyici bir tamsayı biçimine dönüştürülürken geçersiz bir dönüşüm olacaktır, bu nedenle derleyici işlenmemiş bir istisna atar. Ayrıştırma yönteminin dönüş değeri int’dir. Ayrıştırma yöntemini yalnızca dize formatında olan bir tamsayıya dönüştürdüğümüzden% 100 emin olduğumuz durumlarda kullanabiliriz.

Örnek:

 

C# TryParse Metodu

Parse yöntemini, dize biçimindeki bir sayının bir tamsayı biçimine dönüştürülmesi için de kullanabilirsiniz. Try Parse yönteminin dönüş türü bir Boolean değeridir. Derleyici, değeri ayrıştıramazsa bir istisna alamaz. Değeri ayrıştırmaya çalışır – eğer başarılı olursa TRUE, aksi halde bir False değerini döndürür. Parse ve Try Parse metodu arasındaki temel farklardan biridir.

Örnek:

 

toString() metodu:

Bu yöntemle sadece string tipine dönüşüm yapılabilir.

 

 

 

1 Yorum

Yorum yap

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d blogcu bunu beğendi: