Yazılım Notları
Bilgi Paylaştıkça Çoğalır...

C Sharp Temelleri - 2: Değişkenler ve Veri Tipleri

C# programlama dilinde veri tipleri nelerdir? Veri tiplerinin kapsamları ve temsil ettikleri değerler. Değişkenlerin tanımlanmaları, başlangıç değerlerinin atanması.

Bütün programlama dillerinde olduğu gibi C#’ta da değişkenve veri tipleri sayı, karakter, metin, tarih, zaman gibi veri tipleriyletanımlanır.

Bir değişkentanımlanacağı zaman, bu değişkene bir isim verilir ve bu değişkenin veri tipi belirlenir. C# programlamadilinde bu işi yapmak için ilk önce veri tipi yazılır, sonra değişken ismi.

// hataKodu ismiyletamsayı veri tipinde bir değişken tanımlanması

int hataKodu;

 

       // hataMesaji ismiyle metin veri tipinde bir değişken tanımlanması

       string hataMesaji;

Ortak Veri Tipleri :

C# Adı

VB Adı

.NET Tip Adı

Kapsamı

byte

Byte

Byte

0-255 arası

short

Short

Int16

-32,768 – 32,767 arası

int

Integer

Int32

-2,147,483,648 ile

 2,147,483,647 arası

long

Long

Int64

-9.2e18 – 9.2e18 arası

float

Single

Single

Büyük sayılar : -3.4e38 ile 3.4e38 arasındaki gerçek sayılar

Küçük Sayılar : -1.5e-45 ile 1.5e-45 arasındaki gerçek sayılar

double

Double

Double

Büyük sayılar : -1.8e308 ile 1.8e308 arasındaki kesirli sayılar

Küçük Sayılar : -0.5e-324 ile 5.0e-324 arasındaki kesirli sayılar

decimal

Decimal

Decimal

Virgülden sonra 28 basamağa kadar destekleyen 128 bit uzunluğundaki kesirli sayılar

char

Char

Char

Unicode karakter

string

String

String

Değişken uzunlukta Unicode karakterlerden oluşan seri

bool

Boolean

Boolean

Doğru ya da Yanlış değeri

DateTime

Date

DateTime

01/Ocak/0001 12:00:00 AM ile

31/Aralık/9999 11:59:59 PM arasındaki tarihleri belirtir.

Zaman değeri 100 nano-saniye ye kadar çözümlenebilir.

Bu veritipi, 64 bit uzunluğunda bir tamsayı olarak tutulur.

TimeSpan

TimeSpan

TimeSpan

“10 Saniye”, “3 gün” gibi bir zaman sürecini temsil eder. Temsil edilebilecek en küçük zaman dilimi 1 tıktır(100 nanosaniye).

object

Object

Object

Bütün .NET tiplerinin temel sınıfını oluşturur. Herhangi bir veri tipi ya da nesneyi içerebilir.

 

Değişkenleri tanımladıktan sonra, bu değişkenlerebaşlangıç değerlerinin atanması gerekir. Bu iki adımlık süreç aşağıdaki kod bloğundagösterilmiştir:

 

//Değişkenlerin Oluşturulması

int hataKodu;

string hataMesaji;

 

//Değişkenlere ilk değerlerinin atanması

hataKodu = 105;

hataMesaji = "LütfenGeçerli Bir Tarih Yazınız.";

 

Yukarıdaki iki adım halinde değişkenlerintanımlanması ve başlangıç değerlerinin atanması işlemi her bir değişken içinaynı satırda da yapılabilir. Şöyle ki:

//Değişkenlerin Oluşturulması ve BaşlangıçDeğerlerinin Atanması

int hataKodu = 105;

string hataMesaji = "LütfenGeçerli Bir Tarih Yazınız.";

 

C# programla dilinde, başlangıç değerleri atanmamışdeğişkenlerle işlem yapılması hatalara sebep olur. Örneğin :

int tekrarSayisi;   //Başlangıç Değeri Atanmamış değişken

tekrarSayisi = tekrarSayisi + 1; //Error : Use of unassigned local variable'tekrarSayisi'    

 

Bu kod bloğunu derlemeye çalışılırsa,yukarıda kırmızı ile belirtilen hata alınacaktır. Aslında, C#’ın yazılımgeliştiriciyi bu şekilde kontrol etmesi, çok iyi bir özelliktir. Zira, yazılımgeliştiricinin değişkenlerin başlangıç değerlerini atamış olması kontroledilmiş olur.

 

Yukarıdaki hata alınmadan bu kod bloğu aşağıdakigibi yazılarak çalışması sağlanabilir:

int tekrarSayisi=0;   //Başlangıç Değeri Olarak Sıfır (0) atanmıştır

tekrarSayisi = tekrarSayisi + 1; //Her hangi bir hata alınmaz

 

C# aynı zamanda, veri tiplerine doğru değerlerin atanmasınaçok önem verir. Örneğin aşağıdaki değişken tanımlaması hata verecektir:

decimal sayi1 = 9.5;//Literal oftype double cannot be implicitly converted to type 'decimal'; use an 'M' suffixto create a literal of this type

 

Buradaki hatanın sebebi şudur: C# 9.5 sayısını öncelikledouble olarak yorumlar ancak, değişken decimal olarak tanımlanmıştır. Doubletipindeki bir sayı herhangi bir CAST sözdizimi kullanılmaksızın doğrudandecimal veri tipine dönüştürülemez. Bu sorundan kurtulmanın yolu, 9.5 sonuna Mkarakterinin yazılmasıdır. Bu durumda C#, decimal değerler için belirlenmişolan M karakterini gördüğünde, 9.5 sayısını double değil decimal olarakyorumlayacaktır. Bu şekilde hem derleme hatası ortadan kalkmış olur, hem de doubledeğeri decimal’a çevirmek için herhangi bir CAST söz dizimine ihtiyaç olmaz.

Doğru söz dizimi şu şekilde olmalıdır:

decimal sayi1 = 9.5M;

 

Bu durumla aynı özellikteki diğer veri tipleri için,değişken değerlerinin sonunda şu karakterler kullanılmalıdır:

  •        M (decimal veri tipleri için)

  •         D (double veri tipleri için)

  •         F (Float veri tipleri için)

  •         L (Long veri tipleri için)

Burada, C# derleyicisi bir noktada daha kolaylıksağlamaktadır. Şöyle ki:

Herhangi bir değişken var anahtar kelimesiylebirlikte tanımlanarak aşağıdaki gibi, sonunda da veri tipi için geçerli olankarakter eklendiği zaman, bu değişkenin veri tipinin belirtilmesine gerek kalmamaktadır.Yani:

var sayi1 = 9.5M;

 

Değişken tanımlaması ve başlangıçdeğerinin atanmasının tek satırda yapıldığı yukarıdaki kod satırı hata vermedenderlenecektir.

 

String ve Kaçış Karakterleri (Escape Characters)

C#, ters slash(\) işaretini, herhangi bir kaçış karakterinin başlangıcı şeklinde yorumlar. Örneğin \n “yeni satır” anlamına gelir. En çok kullanılan Escape Karakterleri aşağıdakilerdir:

  •     \”         :Çift Tırnak

  •     \n         :Yeni Satır

  •        \t          :Yatay tab

  •        \\          :Ters Slash

Ayrıca, örneğin \x123 söz dizimini kullanarak 16lı sayı sistemine göre değeri 132 olan karakteri string içine eklenebilir.

Örnek:

            string path = "C:\\MyApp\\MyFiles";

            path = @"C:\MyApp\MyFiles";

 

Yukarıdaki iki örnekten birincisinde (\) ters slash kullanılarak path yazılmıştır. İkincisinde ise string karakterlerinin başında (@) işareti kullanılarak, sonrasında gelen escape (kaçış) karakterlerinin devre dışı kalması sağlanmıştır.


 

Banka Hesap Numaralarınızı, IBAN Numaralarınızı bir kere telefonunuza kaydedin. İhtiyaç duyduğunuzda elinizin altında olsun.

Banka Hesaplarım

En Güzel Sözler Uygulaması İçin


Ana Sayfa       Arama       Valid CSS!
Önceki Makale
Sonraki Makale