İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# Değişkenler, Tipleri, Atamalar ve Dönüşümleri


+ - 0

C# Değişkenler, Tipleri, Atamalar ve Dönüşümleri  yazımız ile C# derslerimize devam ediyoruz. C Sharp degiskenler her programlama dilinde vardır. Diğer adları ise “veri tutucularıdır”.  Değişkenler, girdiğimiz değerleri alan veya programın çalışmasıyla bazı değerlerin atandığı verileri saklarlar. 

C# hakkındaki diğer derslerim için tıklayınız.

Dikkat edilmesi gerekenler

  1. Her zaman bir değerleri olmalıdır. Değeri yoksa null olarak tanımlanmalıdır
  2. Tanımlama esnasında büyük küçük harf ayrımı vardır
  3. Değişken adları rakamlarla başlayamaz
  4. Program tarafından kullanılan class, using gibi isimler verilemez
  5. Aynı kod bloğu içerisinde aynı adda iki değişken olamaz
  6. İşlem operatörleri içeremez. Kelimeleri ayırmak için alt çizgi ( _ ) kullanabilirsiniz
  7. Boşluk kullanamazsınız.
  8. Zorunlu olmasa bile Türkçe karakter kullanılmamalıdır.
  9. Değişken adları amacını belirten mantıklı isimlerle tanımlanmalıdır.
  10. Çok uzun isimler verilmemelidir. Kısa ve öz olmalıdır.

Değişken tanımlama işlemi aşağıdaki şekilde olmaktadır.

(Değişken türü) (Değişken Adı) =  (Değişken Değeri)

String KullAdi = String.Empty;
String KullAdi = null;

 

Ek Bilgi = Programlama dilleri de space tuşunun verdiği boşluğun ASCII (Decimal 32 / HEX 20 ) kodlarında bir karşılığı olduğundan dolayı “boş” olarak görülmemektedir. Genel “White Space” olarak anılırlar. Programlama boş demek null demektir.

String Degisken = “ ”;  // boş değil “boşluk” değeri var
String Degisken = null; // tamamen boş

c# değişkenler örnek

C Sharp Degiskenler  ve Tipleri

Aşağıdaki listede c sharp degiskenler, tanımlama şekilleri ve değer bilgileri verilmiştir.

            #region DEGISKENLER
            byte    b   = 5; //1 bayt  |  0 .... 255 (Tam Sayı)
            sbyte   sb  = 5; //1 bayt  |  -128 .... 127 (Tam Sayı)
            short   s   = 5; //2 bayt  |  -32.768 .... 32.767 (Tam Sayı)
            ushort  us  = 5; //2 bayt  |  0 .... 65.535 (Tam Sayı)

            Int16   i16 = 5; //2 bayt  | -32.768 ..... 32.767
            int     i   = 5; //4 bayt  | -2.147.483.648 .... 2.147.483.647 (Tam Sayı)            
            Int32   i32 = 5; //4 bayt  | -2.147.483.648 ..... 2.147.483.647
            Int64   i64 = 5; //8 bayt  | -9.223.372.036.854.775.808 ..... 9.223.372.036.854.775.807

            uint    ui  = 5; //4 bayt  |  0 ... 4.294.967.295 (Tam Sayı)
            long    l   = 5; //8 bayt  |  -9.223.372.036.854.775.808 .... 9.223.372.036.854.775.807 (Tam Sayı)
            ulong   ul  = 5; //8 bayt  |  0...18.446.744.073.709.551.615 (Tam Sayı)

            float   f   = 5; //4 bayt  |  ±1.5*10-45 .... ±3.4*1.038 (reel sayı)
            double  d   = 5; //8 bayt  |  ±5.0*10-324 .... ±1.7*10.308 (reel sayı)
            decimal de  = 5; //16 bayt |  ±1.5*10-28 .... ±7.9*1.028 (reel sayı)

            char    c  = 'c'; //2 bayt |  tek karakter tutar - tek tırnak kullanılır
            string str = "s"; //sınırsız |  Metin tutar - çift tırnak kullanılır.

            bool b1 = true; // "doğru" değeri
            bool b2 = false; // "yanlış" değeri

            DateTime dt = DateTime.Now; // tarih bilgisi tutar. 
            //DateTime.Now şuandaki tarih ve saati alır.

            object o1 = 'o';
            object o2 = "o";
            object o3 = 5.25F;
            object o4 = 5.25D;
            object o5 = 5.25M;
            object o6 = 5;
            // object her türden veri alır. Sonuçta tüm değişken tipleri
            // object türünden türetilmiştir. O sebeple her türden veriyi 
            // object türüne atayabilirsiniz.

            var v = 5;
            //Bu tür değişken tanımlamalarına bilinçsiz değişken tanımlaması denir
            //Bilinçsiz değişken tanımlamalarında çoklu değişken tanımlaması yapamayız. 
            //Ayrıca değişkene tanımlanır tanımlanmaz değer vermeliyiz.
            //derleyici değişkenin tipini değerden anlar. 

            #endregion

 

C Sharp Değişken Tanımlama Şekilleri

Aşağıdaki listede değişkenlerin alabilecekleri değerlere örnekler, c sharp degiskenler ‘e değer atamaların nasıl yapılabileceği ve atama sonuçların ne sonuçlar alabileceği görülmektedir.

 #region TANIMLAMA SEKILLERI
            // tanımlama şekilleri
            string str1 = string.Empty;
            str1 = "Mustafa Bükülmez";
            string str2 = "Mustafa Bükülmez";
            string str3 = "Mustafa" + "Bükülmez";  // değişkenin alacağı değer, MustafaBükülmez
            string str4 = "Mustafa Bükülmez", str5; // çoklu değişken tanımlama

            int int1 = 5 + 5; // değişkenin alacağı değer, 10
            int int2 = 5 * 5; // değişkenin alacağı değer, 25

            bool b3 = 3 < 4; // mantıksal sınama yapılabilir. ancak sonuç true yada false olmalıdır.
            // 3 küçüktür 4 sınamasının sonucu değişkene atanır.
            // değişkenin alacağı değer true olacaktır.

            // Bu tanımlama şekli ArrayList için tanımlama şeklidir. 
            // Başka bir yazıda etraflıca anlatacağız.
            int[] ArryInt = new int[5]; // 5 adet int değeri alabilir
            ArryInt[0] = 0;//1
            ArryInt[1] = 1;//2
            ArryInt[2] = 2;//3
            ArryInt[3] = 3;//4
            ArryInt[4] = 4;//5
            ArryInt[5] = 5;//6 -  // bu değer ArrayList' e eklenmeyecektir
            // [] köşeli parantezler değişkenin bir arrylist olduğunu belirtir. 
            // Tüm değişken tipleri için geçerlidir.
            #endregion

 

C Sharp Değişken Dönüşümleri

Aşağıdaki listede c sharp degiskenlerin dönüşümlerine örnekler verilmiştir.

String olan bir değişken int değişkenine nasıl atanır?.

Datetime olan değişken string türe nasıl dönüştürülür?.

#region DEGISKEN DONUSUMLERI
            //Değişken Dönüşümleri
            string str10 = "10";
            int int10 = 10;

            string str11 = str10 + int10.ToString(); // değişkenin alacağı değer, 1010 
            //diğer tipleri string'e dönüştürürken .ToString() kullanılır

            int int11 = int10 + Convert.ToInt32(str10); // değişkenin alacağı değer, 20
            int int12 = int10 + int.Parse(str10); // değişkenin alacağı değer, 20
          
            //int parse string den dönüştürmek için kullanılır.
            //string değerde sayı değil başka bir karakter varsa FormatExeption hatası verir.

            int int13 = int10 + int.Parse(b1); // bool'dan int.parse işleminde bool değişkenin altı çizilir
            //bu satırda hata verecektir

            b1 = true;
            string str20 = b1.ToString(); // değişkenin alacağı değer, True  (değişken true ise "true", false ile "false")
            // Yani şöyle olacak  string str20 = "true";

            d = 5.25;
            string str21 = d.ToString(); // değişkenin alacağı değer 525 olur. String dönüşümlerinde ondalık değerlerde nokta kaybolur.
            // nokta kaybolmasın istersek String.Format kullanmamız gerekir.

            string str22 = DateTime.Now.ToString("dd.MM.yyyy");
            // örn. 03.02.2018 23:56:26.000 şeklindeki tarihi "03.02.2018" olarak aldık.
            //"dd.MM.yyyy" olduğu için ayırıcı olarak nokta koyar nokta yerine slash kolaysak tarih ayracı slash olur.

            string str23 = DateTime.Now.ToString("HH:mm");
            // örn. 03.02.2018 23:56:26.000 şeklindeki tarihi "23:56" olarak aldık.

            //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
            #endregion

Elimden geldiği kadar ayrıntıya inmeye çalıştım dostlar. En çok kullanacağımız şeyler değişkenler olduğundan dersler ilerledikçe daha bir çok kullanım şekli göreceğiz.

C sharp Degiskenler, Tipleri, Atamalar ve Dönüşümleri dersimiz de bu kadar dostlar. Diğer derslerimizde görüşmek üzere.

C# hakkındaki diğer derslerim için tıklayınız.

Sağlıcakla ve takipte kalın. ;)

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)