C# da Değişken Tipler

Programların geliştirilmesi aşamasında aynı amaçlı olarak farklı değerlerin kulwan-nedir.html”target=”_self”title=”Lan nedir” >lanılması gerekecektir. Bu değerleri kullanabilmek için değişkenleri kullanmaktayız. C#’da değişkeninizi küçük harfle tanımlarsanız, o değişkeni işlemlerinizde büyük harfle kullanamazsınız. (C# dilinde büyük-küçük harf duyarlılığı vardır) Aşağıda küçük bir örnekle tanımlamalardan bahsedelim. 

Private void button1_Click(object sender, EventArgs e) 


int deger;

string metin;

double ondaliklisayi;

decimal para; 

( Yukarıda gördüğünüz {} parantezlerin ismi süslü parantez. İki süslü parantez arasınada scope deniyor [sıkop] ) 

 Değişkenler ve Metotlar için İsimlendirme Konvansiyonları
Microsoft değişken isimlendirmesi için Camel Notasyonu methodlar içinse Pascal Notasyonunu tavsiye ediyor. Peki nedir bu Camel ve Pascal notasyonu. 

Camel Notasyonu :
Bu notasyon çeşidinde isim küçük harfle başlar, değişken içerisinde birden fazla kelime geçiyor ise isimdeki diğer kelimeler büyük harfle başlıyor. Örnek verecek olursak ,

urun;

urunAdedi;

urunBirimFiyati; 

şeklinde.

Pascal Notasyonu :
Bu notasyon çeşidini kullanmak mecburi değil (Pascal Borland’ın çocuğu olduğu için olabilir ) Fakat bu notasyonlara uyarak kod yazmanız uzun zaman aralığında kodunuza geri döndüğünüzde size yardımcı olacaktır. 

Urun();

UrunHesapla(); 

Değişken Tanımlarken Dikkat Edilecek Bir Kaç Husus 

Değişken tanımlarken dikkat etmeniz gereken belli başlı önemli kurallar var. 

  • Değişken isimleri kesinlikle rakamla başlayamaz fakat ilk karakterden sonra rakam kullanabilirsiniz. 

private void button1_Click(object sender, EventArgs e)
{
int 9urun; // Hatalıdır

int urun9; // Doğru tanımlama

string kelime3; //Doğru tanımlama
}

  • Değişken isimlerinin içerisinde garip karakter kullanamazsınız ve birinci karakterden sonrada bu kural geçerliliğini korur. Nedir bu garip karakterler (‘{[]^ & vb)

 

private void button1_Click(object sender, EventArgs e) 

int ur&un; // Hatalı tanımlama

string keli+me; // Hatalı tanımlama

double ondalikli_sayi; // Doğru tanımlama

decimal para; //Doğru tanımlama 

  • Değişken isimleri birden fazla kelimeden oluşabilir fakat bu kelimeleri boşluk ayıracını kullanarak yapamazsınız. Eğer birden fazla kelimeden oluşan bir değişken isminiz var ise “_” çift tırnak arasındaki ayıracı kullanabilirsiniz.
     

private void button1_Click(object sender, EventArgs e) 

{
string Adi Soyadi ; // Hatalı Tanımlama

string adi_Soyadi; // Doğru tanımlama 

  • Değişken isimlerinde TÜRKÇE karakterler kullanabilirsiniz fakat kullanılmaması öneriliyor.  

 

private void button1_Click(object sender, EventArgs e) 

{

string AdıSoyadi; // Doğru tanımlama 

  • C# içerisinde kullanılan komutlar değişken ismi olarak kullanılamaz, örnek olarak 

private void button1_Click(object sender, EventArgs e)
{
int this ; // Hatalı Tanımlama

string for; // Hatalı tanımlama

C# ‘DA KULLANILAN DEĞİŞKEN TİPLERİ : 

Değişkenleri nasıl tanımlamamız gerektiğini yukarıda ki örneklerde anlatmaya çalıştım. Nesne tabanlı programlama dillerinde her sınıftan değişken türetilebilir. Şimdilik (String, Sayısal ve Mantıksal) değişken tiplerine değineceğim.

Tam Sayı Tipleri :

Sayısal ifadelere kullanabileceğimiz, aynı zamanda bu değerlerin ondalıklı kısımlarının kullanılamayacağı durumlarda tercih edebileceğimiz bir tiplerdir.

 Sbyte: 

Sadece -128 ile +128 arasındaki tam sayı değerlerini aktarabileceğimiz bir değişken tipidir. 

private void buttonTest_Click(object sender, EventArgs e) 

{
Sbyte sayi;

sayi = 100 ; // Doğru tanımlama

sayi = -100; // Doğru tanımlama

sayi = 500; // Sınır değerini aştığı için hatalı tanımlama 

Bu kısımda ileride işinizi kolaylaştıracak boxing işleminden bahsetmek istiyorum. 

private void buttonTest_Click(object sender, EventArgs e)

Sbyte k_sayi;

int deger = 40;

k_sayi = deger; // Hatalı tanımlama

this.text = k_sayi.ToString(); 

}

Yukarıdaki kod çalışmayacaktır. int tipli bir değişkeni Sbyte tipde bir değişkene göre daha yüksek değerler alabilir. Bu şekilde başarılı bir atama gerçekleşmeyecektir. Şimdi boxing işlemi ile bu işlemi başarılı olarak gerçekleştirebileceğiz.

 private void buttonTest_Click(object sender, EventArgs e) 

Sbyte k_sayi;

int deger = 40;

k_sayi = (Sbyte)deger; // Boxing işlemi

this.text = k_sayi.ToString();

}

Boxing işlemindeki mantığımız bu şekilde.

Byte:
0 ile 255 arası değer alabilen tamsayı tipidir.

private void buttonTest_Click(object sender, EventArgs e)
{

Byte deger;

int t_sayi=100;

deger = t_sayi ; // Hatalı tanımlama

this.text = deger.ToString(); 

Yukarıdaki örnekte int tipli değişkenin değeri 100 olmasına rağmen (Byte sınır aralığı içinde)  direk atama işlemi yapılamaz. Burada imdadımıza yine Boxing işlemi yetişecektir.

private void buttonTest_Click(object sender, EventArgs e) 

{
Byte deger;

int t_sayi = 100;

deger = (Byte)t_sayi;

this.text = deger.ToString();

Peki int tiple değişkenin değeri Byte değişkenine ait sınırlar dışında olsa ne yapacaktık ? Onun içinde aşağıdaki kodlara bakmanızda yarar var.

private void buttonTest_Click(object sender, EventArgs e)

{
Byte deger;

int t_sayi = 257;

deger = (Byte) t_sayi ; // Boxing işlemi

label1.text = deger.ToString();
}

Bu durumda 256 sayısına göre int değişkenine mod kuralı uygulamakta ve bulduğu sonucu değişkene aktarmaktadır. int tipindeki değişkenimizin değeri 300 olsaydı label’da 4 değeri yazdırılacaktı.

 short:
“-32.768 ile +32.768” arası değer alabilem tam sayı tipidir. Önceki değişkenlerden farkı yoktur aşağıda sadece tanımlama şeklini göstereceğim.

private void buttonTest_Click(object sender, EventArgs e)
{
short sayi;

int  deger,t_sayi =257;

deger = (short)t_sayi;

label1.text = deger.ToString();
}

ushort:
“0 ile 65.535” arası pozitif tam sayı değerleri alabilen tamsayı tipidir.

private void buttonTest_Click(object sender, EventArgs e)
{
ushort sayi;
}

int :
“-2.147.483.648 ile +2.147.483.647” arası değer alabilen tamsayı tipidir. Aşağıda bir örnekle gösterelim.

private void buttonTest_Click(object sender, EventArgs e)
{

int deger ;

double sayi=100.79;

deger=(int)sayi;

label1.text = deger.ToString();  // 100 olarak yazar 

}

Şimdi aynı örneği “Convert” fonksiyonunu kullanarak yazdıralım .

private void buttonTest_Click(object sender, EventArgs e) 

{
int deger ;

double sayi = 100.79;

deger = Convert.ToInt32(sayi);

label1.text = deger.ToString(); // 101 yazar 

}

Sonuçlara göz atacak olursak ilk örnekte 100 diğer örnekte 101 yazdığını göreceksiniz. Convert fonksiyonu yuvarlama boxing işlemi ise ondalıklı değeri ne olursa olsun tam kısmını almaktadır.


uint:
“0 ile 4.294.967.295” arası değer alan pozitif tamsayı tipidir.

private void buttonTest_Click(object sender, EventArgs e) 

{
uint deger;
}
long:
“ -9.223.372.036.854.775.808 ile 9.223.372.036.854.775.807” arasında değer alabilen tamsayı tipli değişken seçeneğimizdir. 
private void buttonTest_Click(object sender, EventArgs e)

{

long deger;

double sayi = 100.81;

deger = convert.ToInt32(sayi); // Hata vermez

label1.text = deger.ToString(); // 101 şeklinde yuvarlar 

} 

ulong :
“0 o 18.446.744.073.709.551.615” arasında pozitif tam sayı değerlerini alabilen değişken seçeneğidir. 

private void buttonTest_Click(object sender, EventArgs e)
{
 ulong deger;
}

 Ondalıklı Sayı Tipleri : 

float :
“+- 1.5 x 10-45 to +- 3.4 x 1038” arası değer alabilen ondalıklı sayı tipidir. (Yazılan aralığın -1 ile 0 ve 0 ile +1  arası olduğuna dikkat edelim.) 

private void buttonTest_Click(object sender, EventArgs e) 

{

float deger=10.85; 

}

double:
“+- 5.0 x 10-324 to +-1.7 x 10308” arası değer alabilen ondalıklı sayı tipidir. İlk aralık -1 ile 0 ve 0 ile +1 arasıdır. 

private void buttonTest_Click(object sender, EventArgs e) 

{

 double deger = 10/4;

label1.text = deger.ToString(); // 2 yazar 

}

Double değişkenler float değişkenler ile aynı mantığı taşımakta. Örneklerle görelim.

 private void buttonTest_Click(object sender, EventArgs e)

 {

 double deger;

deger = 10D/4; // D karakterine dikkat

label1.text = deger.ToString(); // 2.5 Yazar

}

Tam Sayı Tipli veya Reel Sayı Tipli Bir Değişkenin Değerini Yazdırmak :
C#’da sayısal değer içeren bir veriyi label1.text = veri şeklinde yazdıramazsınız. Bunu kullanıcıya göstermek için ToString methodunu kullanıyoruz ya da Convert fonksiyonundan yararlanıyoruz. ToString methodunu kullanmadan yazarsak tip uyuşmazlığı hatası verecek ve programımız  break olacaktır. 

private void buttonTest_Click(object sender, EventArgs e)
{

double deger;

float sayilar;

sayilar = (float)Convert.ToDouble(textbox1.Text);

deger = sayilar * sayilar;

label1.text = deger.ToString(); 

}


String Veri Tipleri :
Alfabetik değerleri barındırmak için kullanılabilecek değişken tipleri aşağıdaki gibidir. 

string:
Metin içerikli verilerin aktarılabileceği değişken tipi olarak kullanılır. 

private void buttonTest_Click(object sender, EventArgs e)
{

string metin = “Deneme”;

label1.text = metin ;

}

private void buttonTest_Click(object sender, EventArgs e)
{

string  metin;

metin = textbox1.text;

MessageBox.Show(“Girilen Değer”+Metin);

}

char:
Karaktersel işlemler için kullanılan değişken tipidir. Her ne kadar karakter işlemler için desekte çalışma mantığı “string” tip değişkenden çok farklı.

private void buttonTest_Click(object sender, EventArgs e)

{
char karakter=”A”; //Hatalı Tanımlama
}

 String tipte tek bir karater değeri asla char tipli değişkene aktarılamaz. Bunu aşağıdaki örnekte ki yapabiliriz.

 private void buttonTest_Click(object sender, EventArgs e) 

{
char karakter = ‘a’; // Doğru tanımlama
}

bool:
Sadece true ve false değeri alabilen veri tipidir. İki alternatifli durumlarda kullanılır. Evli – Bekar gibi.

private void buttonTest_Click(object sender, EventArgs e)

{

  bool  durumGoster ;

  durumGoster = checkbox1.Checked;

if (durumGoster == true)

{

Label1.Text = “Evli”;

}

Else

{

Label1.text = “Bekar”;

}

 
Boolean:
“bool” tip değişken ile aynı işlevi gerçekleştirmektedir. Yukarıdaki uygulamayı bu tip değişkende kullanarak yapabilirsiniz.

 private void buttonTest_Click(object sender, EventArgs e) 

{
Boolean  durumGoster = checkbox1.Checked; 

if (durumGoster == true)
{

Label1.Text = “Evli”; return;

}

Label1.text = “Bekar”;

}
İş yoğunluğu sebebiyle makaleyi burada noktalamak durumunda kaldım , artık devamı haftaya.

Benzer Yazılar

Etiketler: , , , , , , , , , , , , , , , , , , , , , , , , , ,

Facebook'ta Paylaş

Yorum Ekle