System.Convert Sınıfı ile Tür Dönüşümü

System.Convert sınıfı ile tür dönüşümüne, en basit tabiriyle şu sebep ile ihtiyacımız olacak;

Örneğin, konsola kullanıcıdan bir hesaplama yapmak üzere bir sayı girmesini istedik. Kullanıcının konsola girdiği sayı string olarak alınacak. Biz kullanıcıdan aldığımız bu sayı ile işlem yapacağımız için sayıyı integer a çevirmemiz gerekir. Bu gibi durumlarda System.Convert sınıfı kullanılabilir.

Aşağıdaki tabloda System.Convert sınıfının çeşitli metotları mevcuttur.


System.Convert sınıfına örnek bir program yazalım. Aşağıdaki kodları kopyalayıp Visual Studio ya yapıştırarak sonuçları kendinizde gözlemleyebilirsiniz. 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace dort_islem
{
    class Program
    {
        static void Main(string[] args)
        {
            //kullanıcıdan alınan sayılarla dört işlem yaptıran ve sonuçlarını ekrana yazdıran program

            int a, b;
            int toplama, cikarma, carpma;
            float bolme;

            Console.Write("Birinci sayıyı giriniz:");
            a = Convert.ToInt32(Console.ReadLine());

            Console.Write("İkinci sayıyı giriniz:");
            b = Convert.ToInt32(Console.ReadLine());

            toplama = a + b;
            Console.WriteLine("Toplama={0}", toplama);

            cikarma = a - b;
            Console.WriteLine("Çıkarma={0}",cikarma);

            carpma = a * b;
            Console.WriteLine("Çarpma={0}", carpma);

            bolme = a / b;
            Console.WriteLine("Bölme={0}", bolme);

            Console.ReadLine();
        }
    }
}

Konu ile ilgili eğitim vidyosu


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

Tür dönüşümü nedir?

Farklı türden değişkenlerin aynı ifade içinde işlem görebilmesi için tür dönüşümleri kullanılır. C# ta iki tür, tür dönüşümü vardır. Bunlar;

1.Bilinçli Tür Dönüşümleri(explicit)
2.Biliçsiz Tür Dönüşümleri(implicit)

1.Bilinçsiz Tür Dönüşümü

Derleyicinin, değişkeni tanımladığımız türün dışında geçici olarak başka bir türe çevirmesine biliçsiz tür dönüşümü denir. Bilinçsiz yapılan tür dönüşümlerinde bir nesnenin türü kalıcı olarak değiştirilmez. Bilinçsiz tür dünüşümleri, büyük türün küçük türe çevrilmesi ve küçük türün büyük türe çevrilmesi şeklinde iki türlüdür. Fakat veri kayıplarına sebep olduğu için C# ta büyük türün küçük türe bilinçsiz olarak dönüşümü yasaklanmıştır.

Küçük türün büyük türe dönüştürülmesi
Küçük tür büyük türe çevrilirken boş olan bitleri sıfır ile beslenir. Bitlerin sıfırla beslenmesi değişkendeki değeri değiştirmediği için tür dönüşümünde herhangi bir veri kaybı olmaz.

Örnek:

static void Main()
{
     byte a=5;
     int b;

     b=a;
     Console.WriteLine(b);

     float f=5f;
     double d;

     d=f;
     Console.WriteLine(d);

     char c='h';
     decimal m;

     m=c;
     Console.WriteLine(m);
}

Not: Char türden ' c ' nesnesi decimale çevrilirken ekranda ' c ' karakterinin Unicode karşılığı görülür.

Genel kullanım şekli aşağıdaki gibi olmaktadır.

static void Main()
{
       int a=45;
       short  b=11;
       byte c=5;
       long sonuc;
  
       sonuc=a+b+c;
       Console.WriteLine(sonuc);
}

Aşağıdaki tabloda C# ta bilinçsiz olarak tür dönüşümü yapabileceğimiz veri türleri mevcuttur.


2.Bilinçli Tür Dönüşümü

Bilinçli tür dünüşümüde kendi içinde küçük türün büyük türe ve büyük türün küçük türe çevirilmesi olarak ikiye ayrılır. Küçük türün büyük türe çevirilmesi bilinçsiz tür dönüşümleri ile aynıdır. Burada dikkat edilmesi gereken nokta bilinçli tür dönüşümünün, derleyicinin büyük türün küçük türe çevirilmesine izin vermediği durumlarda kullanılmasıdır.

static void Main()
{
     int i=255;
     byte b=(byte)i;
     Console.WriteLine(b);
}

Not: Bu program hatasız çalışmaktadır. Fakat ' i ' değişkeninin değeri 255 ten yüksek olsaydı programımız hata verecekti. Çünkü byte veri türü 0-255 arasında değerler almaktadır.

C# VERİ TİPLERİ


C# taki her veri tipi Object nesnesinden türemiştir. Yani her nesne ya da veri tipi aslında Object tipidir.

Temel Veri Türleri
1.byte veri türü
2.sbyte veri türü
3.short veri türü
4.ushort veri türü
5.int veri türü
6.uint veri türü
7.long veri türü
8.ulong veri türü
9.float veri türü
10.double veri türü
11.decimal veri türü
12.bool veri türü
13.char veri türü

Temel veri türlerinin C# taki adı, CTS karşılığı, açıklaması ve kullanım aralığı aşağıdaki tabloda toplu olarak verilmiştir.

Veri Tiplerinin Kullanımı ile İlgili Örnekler

int Veri Tipi
int a;
int a,b;
int a=5;

double Veri Tipi
double a=1.2;
double b=3D;
double c=5d;

decimal Veri Tipi

decimal d=2.5m;
decimal e=2.5M;

float Veri Tipi

float f=2.5F;
float g=2.5f;

Not:Float ve decimal veri tiplerinde, değişkenlere atadığımız sabit değerlerin sonuna float ise ' f  'ya da ' F ', decimal ise ' m ' ya da ' M ' koymadığımız takdirde derleme hatası alırız. Çünkü C# ta varsayılan olarak noktalı sayılar double olarak değerlendirilir.

Her veri tipinin bir varsayılan ilk değeri vardır. Veri tiplerinin varsayılan ilk değerlerini aşağıdaki tablodan inceleyebilirsiniz.


Konu ile ilgili eğitim vidyosu



Diğer görsel eğitim vidyoları için tıklayınız.

C# ile İlk Kod Yazımı

Eğer programlamaya ilk defa başlıyorsanız ve başlangıç olarak programlama dillerinden C# ı seçtiyseniz doğru yerdesiniz. Genellikle programlamaya başlarken ekrana ilk yazdırılan yazı;

Merhaba Dünya' dır. Ufak bir farkla biz ekrana "C sharp öğreniyorum" yazdıracağız.

Kod yazarken Visual Studio yu kullanabileceğimiz gibi not defterini de kullanabiliriz. Yazılan kodlar her iki türlü de derlenir. Fakat not defterinde hazırladığımız projemizi *.txt olarak değil *.cs olarak kayıt etmeliyiz. Aksi takdirde csc.exe kodlarımızı derleyemez. C# compiler(csc.exe) de karşılaşılacak diğer hatalar için tıklayınız.

Biz kodlarımızı yazmak ve derlemek için Visual Studio yu kullanacağız ve örneklerimizi de Visual Studio üzerinden göstereceğiz. Visual Studio yu bilgisayarınıza indirmek için tıklayınız.

Şimdi ekrana "C sharp öğreniyorum" yazdırmak için Visual Studio da yeni bir proje oluşturuyoruz ve aşağıdaki kodları yazıyoruz.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ilk_kod
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("C sharp öğreniyorum");
        }
    }
}

Konu ile ilgili eğitim vidyosu


Diğer görsel eğitim vidyoları için tıklayınız.
Asp.Net i C# ile öğreneceğimiz için anlatımlarımızda, C# anlatımlarına ve örneklerine ayrı Asp.Net anlatımlarına ve örneklerine ayrı ayrı değineceğiz. Konularda örnek kodlara yer verirken aynı zamanda kod yazımına dair konuyla ilgili görsel eğitim vidyolarımızda olacak. Çeşitli kaynaklardan yararlanarak ilk kod yazımından başlayarak konularımız ilerleyecektir.

Bizi takip etmeye devam edin...

Translate

Popular Posts

Popular Posts