C# Convert İşlemleri ile C Sharp eğitimlerimize devam ediyoruz. Bir proje yaparken en çok kullandığımız işlemlerden birisidir C sharp convert işlemleri. Convert ne demektir önce ona bir bakalım.
Convert, dönüştürmek , değiştirmek demektedir. Programlamada da aynı anlama gelir. String olan bir değeri int’e dönüştürmek buna örnek verilebilir. Tabi ki bu işlemi yaparken belirli kurallar vardır. Aşağıdaki kodlara bakarak ne demek istediğimi rahatça anlayabilirsiniz.
C Sharp Convert İşlemleri
Kodlara geçmeden önce bahsettiğimiz kurallara bir göz atalım.
- Herhangi bir değişkeni hatta nesneleri bir string türüne dönüştürebilirsiniz. Değer ondalık sayı içeriyorsa virgül kaybolur. Örn 3,75 değerini string yaparsanız 375 olur. Nesneleri string yaparsanız. Nesnenin adını elde edersiniz. Örn string s = textbox.ToString() yaparsanız, System.Windows.Forms.TextBox değerini elde edersiniz.
- Int olan bir değişkeni her zaman string türüne dönüştürebilirsiniz.
- Int olan bir değişkenin değeri 0 yada 1 ise bool türüne dönüştürebilirsiniz.
- String olan bir değişken sadece sayılardan oluşuyorsa int türüne dönüştürebilirsiniz.
- String olan bir değişkenin değeri 0 / 1 ise yada True / False bool türüne dönüştürebilirsiniz.
- Bool olan bir değişkeni, int türüne dönüştürseniz 0 yada 1 olur.
- Bool olan bir değişkeni, string türüne dönüştürseniz, True yada false olur.
- Datetime olan bir değişkeni string olarak dönüştürebilirsiniz
- Datetime olan bir değişkeni string haricinde bir türe dönüştüremezsiniz. Sadece datetime değişkenindeki değerin gün, ay yada yıl gibi parçalarını int türüne alabilirsiniz.
- Object olan bir değişkene bütün değişken türlerini atayabilirsiniz. Sonuçta tüm değişken türleri object türünden türetilmiştir. Yani tüm değişken türlerinin babasıdır diyebiliriz.
Değişkenler hakkında ayrıntılı bilgiye, C# Değişkenler, Tipleri, Atamalar ve Dönüşümleri başlıklı dersimde bulabilirsiniz.
Bu bilgileri verdikten sonra kodlar üzerinde c# convert kullanımı işlemine bakalım.
// convert işlemleri için örnek değişkenlerimiz. string _string = "Mustafa BÜKÜLMEZ"; int _int = 26; DateTime _datetime = DateTime.Now; // şuandaki zamanı alır. örnek = 11.02.2018 15:13:23.256 bool _bool = false; object _object = false; double _double = 3.25; _string = _int.ToString(); // ToString() ile herşeyi string türüne alabiliriz. _string = Convert.ToString(_int); _int = Convert.ToInt32(_string); // Diğer tüm türlerde önce " Convert " sonra da dönüştürmek istediğimiz tipi söyleriz. // Burada bir istisnamız vardır. Dönüştürmek istediğimiz değişken string ise.... _int = int.Parse(_string); // Şeklinde de dönüştürme yapabiliriz. Parse işlemi sadece string'den diğer türlere dönüştürmek için kullanılır. // Ancak string olan değişkeni int türüne dönüştürmek için string olan değişken int türüne uygun olmalıdır. string str = "00002"; //bu değişkeni int değişkene atadığımızda soldaki sıfırlar kaybolur. _int = Convert.ToInt32(str); // _int değişkeninin değeri " 2 " olacaktır. _object = _string; _object = _int; _object = _datetime; // object olan değişkene veri atamak için convert terimi kullanmamıza gerek yoktur. _bool = bool.Parse("True"); // sadece string _bool = bool.Parse(_string); // sadece string _bool = Convert.ToBoolean(1); // direk değer yazabiliriz. _bool = Convert.ToBoolean(_int); // _int değişkeni 0 yada 1 değilse Format Exeption hatası alırız _bool = Convert.ToBoolean(_string); // _string değişkeni true yada false değilse Format Exeption hatası alırız //datetime türünden string türüne dönüşümlere özel olarak //datetime türünün kendine özel convert türleri vardır. //aşağıda gördüğünüz gibi... Diğer türleri siz dener ve görürsünüz. _string = _datetime.ToShortDateString(); // 11.02.2018 _string = _datetime.ToShortTimeString(); // 15:13 _string = _datetime.ToString(); // 11.02.2018 15:13:23.256 _string = _datetime.ToString("dd.MM.yyyy"); // 11.02.2018 //bu şekilde tarihi formatlayarak da alabiliriz. //Burada sadece 11.02.2018 kısmını almış oluruz. _string = _datetime.ToString("dd/MM/yyyy"); // 11/02/2018 // formatlarken ayraçları değiştirebiliriz _string = _datetime.ToString("yyyyMMdd"); // 20180211 // gün ay yıl olarak aldık. // SQL'e kayıt yaparken her zaman bu formatı kullanacağız. //dd = gün (iki karakter gün) //MM = ay (iki karakter ay) MMM yazarsak Ock, Şbt gibi kısaltma alır. //yyyy = yıl (dört karakter yıl) yy yazarksa 17, 18 olarak alır. //HH = saat //mm = dakika //ss = saniye //Diyelim ki elimizde 3 adet int değişken var. Bu değişkenler bir tarihin gün ay ve yılını tutuyor. //bu değişkenlerden bir tarih oluşturamız gerekiyor. int gun = 11; int ay = 2; int yil = 2018; DateTime _datetime2 = new DateTime(yil, ay, gun); //Bu şekilde tarih oluşturabiliriz. //Tamamnı datetime olabilir ama tarih parçaları int türündedir. gun = _datetime2.Day; // tarihten sadece günü aldık ay = _datetime2.Month;// tarihten sadece ayı aldık yil = _datetime2.Year;// tarihten sadece yılı aldık //yukarıdaki tarih bileşenlerini tutan int değişkenlerini string türde bir değişkene atayalım. //ve yeni bir tarih yapalım. string s_gun = gun.ToString(); string s_ay = ay.ToString(); string s_yil = yil.ToString(); DateTime _datetime3 = new DateTime(int.Parse(s_yil), int.Parse(s_ay), int.Parse(s_gun)); // string değişkenleri int yaparak bir tarih oluşturduk. _string = _double.ToString(); // _doubşe değişkenimizin değeri 3.25 idi. // string olarak dönüştürdüğümüzde aradaki nokta kaybolur // string değerimiz 325 olur. // bu nokta yda virgülün kaybolmaması için string.Format kullanmamız gerekir. _string = string.Format("{0:0,00", _double); // virgülden sonra 2 basamak olur. _string = string.Format("{0:0,000", _double); // virgülden sonra 3 basamak olur. //String.Format konusunu ayrı bir derste göreceğiz.
C Sharp Convert işlemleri dersimizde bu kadar dostlar. Aklıma gelen hemen hemen her c# convert işlemini göstermeye çalıştım. Aklınıza takılan soruları sormaktan çekinmeyin. Cevap vereceğimden şüpheniz olmasın.
C Sharp Eğitim Seti ve ERP Programlama eğitim setine buradan ulaşabilirsiniz.
Sağlıcakla ve takipte kalın. ;)