Enum, struct gibi yapılarla oluşturulur.

 

Yerleşik (built in) değer türündeki değişkenler basit ya da temel veri türleri olarak da tanımlanırlar.

 

Örnek:

 

int

 

ya da

 

System.Int32

 

 

Basit veri türleri:

 

 

 

Anahtar sözcük                                  Yapıcısı

sbyte                                                    system.sbyte

byte                                                      system.byte

short                                                     system.int16

ushort                                                   system.uint16

int                                                         system.int32

uint                                                       system.uint32

long                                                      system.int64

ulong                                                    system.char

float                                                      system.single

double                                                  system.double

bool                                                     system.boolean

decimal                                                 system.decimal

 

II. YERLEŞİK VERİ TÜRLERİNİ KULLANMAK

Yerel değişkenler (local variables) türü ve adıyla birlikte tanımlanırlar:

 

int PersonelAdedi;

 

Bir tanımlama içinde birden çok değişken tanımlanabilir:

 

intPersonelAdedi, MemutAdedi;

 

A. DEĞİŞKENLERE DEĞER ATAMAK

Bir değişkene değer atamak için = işareti kullanılır:

 

intMemurAdedi = 30

 

 

B. C# OPERATÖRLERİ

Program yazarken ifade (expression) denilen yapıları kullanırız. Örneğin bir değişkene bir değer atamak ya da bir değişkenin değerine göre bazı deyimleri kullanmak ya da kullanmamak gibi. İşte bu süreç içinde hep kullandığımız özel karakterler operatör olarak adlandırılır. Operatörler (İşleçler) çeşitli işlemleri yapmamızı sağlarlar.

 

Operatörleri işlevlerine göre belli kategoriler halinde ele alabiliriz:

 

Operatör Kategorisi                  Karakterleri

Atama Operatörleri                   =                     

Eşitlik Operatörler                    = =, !=

İlişkisel Operatörler                  <, >, <=, >=

Koşul Operatörleri                    &&, ||, ?:

Artırma Operatörleri                 ++

Eksiltme Operatörleri                --

Aritmetik Operatörler               *, /, -, +, %

 

 

Artırma ve Eksiltme İşlemleri

Toplam = Toplam + 1 gibi klasik artırma (üzerine ekleme) işlemleri için C#'ın C benzeri yapıları vardır:

 

Toplam += 1;

Toplam -= 1;

 

 

C# bundan kısasına sahip:

 

Toplam++;

Toplam--;

 

Burada ++ operatörü artırma için - ise eksiltme için kullanılır.

 

 

III. KULLANICI TANIMLI VERİ TÜRLERİNİ KULLANMAK

Bu konuda, yerleşik (builtin) değişken türlerinin yanı sıra, kullanıcı tanımlı (user defined) değişkenlerin yaratılmasına ve kullanılmasına bakacağız.

 

A. ENUMERATION

Enumeration bir değişkenin birden çok değer alması durumunda kullanılan bir tanımlama şeklidir.

 

Enum Beden { Small, Medium, Large, XLarge }

 

Burada Beden değişkeni 0, 1, 2 ve 3 değerleriyle de temsil edilebilir.

 

Ardından yaratılan Enumeration türü kullanılarak bir değişken tanımlanır:

 

Beden BedenTuru;

BedenTuru = Beden.Small

 

Ya da aşağıdaki şekilde birinci beden bilgisine ulaşılır:

 

BedenTuru = (Beden)0;

 

Şimdi bu beden türünü yazdıralım:

 

 

Console.Writeline("{0}", BedenTuru);

 

B. STRUCT

Struct (Yapı) tanımlamaları ise yerleşik veri türlerinden oluşmuş grup tanımlamalarıdır. Bir öğrenci kaydını düşünün:

 

Public struct Ogrenci

 

{

            string ad;

            int numara;

            string adres;

            string bolum;

            string babaadi;

}

 

Bu tür değişkenlere erişim ise şu şekilde yapılmaktadır:

 

Ogrenci OgrenciKayit;

OgrenciKayit.ad = "Ayşe Örnek"

 

IV. BAŞVURU TÜRÜNE SAHİP DEĞİŞKENLERİ KULLANMAK

C# dilinde reference-type (başvuru türü) değişkenlerin kullanımı karmaşıktır. Çünkü bu tür değişkenlerin kullanımı özellikle uygulamanın etkin çalışmasını sağlar. Başvuru türü değişkenler veriye olan başvuruyu saklarlar. Bir tür pointer (işaretçi) kullanımını düşünün. Verinin kendisi başka bir yerde saklanır. Değişken ise ona başvuru adresini içerir.

 

Klasik C'de Pointer Kullanımı:

 

Pointer (işaretçi) değişken türü, bellekteki bir hücrenin adresinin saklandığı değişkendir. Diğer bir deyişle, işaretçi değişkenler verileri değil de, verilerin saklı olduğu bellek adreslerini içerir. İşaretçiler özellikle dinamik bellek kullanımı açısından kullanılırlar.

 

Klasik C dilinde bir değişkenin tanımlanması sırasında, değişken adının önüne * işareti konularak işaretçi tanımı yapılmış olur.

 

Örnek:

 

 

int *isaretci;

 

A. BAŞVURU DEĞİŞKENLERİNİ TANIMLAMAK

Başvuru türü değişkenler de değer türlü değişkenler gibi tanımlanırlar:

 

Ogrenci Ogr;

 

Burada Ogr değişkeni Ogrenci nesnesine bir başvurudur.

 

Ogrenci nesnesini başlatmak için new operatörü kullanılır. Bu yeni bir nesne yaratarak başvuru değişkeninde saklı nesne başvurusunu döndürür.

 

Ogrenci Ogr;

Ogr = new Ogrenci();

 

Ya da daha kısa şu şekilde tanımlama yapılabilir:

 

Ogrenci Ogr = new Ogrenci();

 

NOT: C#'de yaygın olarak kullanılan başvuru türü sınıflar vardır. Bunların kullanımını ek kaynaklardan çalışmak gerekecek. Bunların başında Execption, String sınıfları (classes) gelir.

 

 

V. DİZİLER

Diziler (arrays), klasik anlamıyla aynı türdeki verilere tek bir adla erişmek için kullanılan bir kümedir. Teknik anlamda bir matris olarak açıklayabileceğimiz diziler, tıpkı matrisler gibi bir ya da daha çok boyutlu olabilir. C#'da da diziler aynı şekilde tanımlanır:

 

Tanımlama:

 

tür ad [eleman sayısı];

 

Örnek:

 

string gunler[6];

 

gunler[0]="Pazartesi";

 

// dizinin birinci elemanı.

 

 

 

C#'da verileri gruplamak için iki ana yöntem vardır:

 

Struct ve dizi

 

Struct tanımlamaları farklı türdeki verileri bir araya getirir. Diziler ise aynı türdeki elemanları bir dizin elemanıyla (sıyarla) işlememizi sağlar.

 

Public struct Ogrenci

 

{

 

            string ad;

 

            int numara;

 

            string adres;

 

            string bolum;

 

            string babaadi;

 

}

 

 

 

Örnek:

 

 

 

int [ ] dizi = new int [3]

 

System.Console.WriteLine(dizi[0]);

 

System.Console.WriteLine(dizi[1]);

 

System.Console.WriteLine(dizi[2]);

 

// dizinin bütün elemanlarını yazdırmak.

 

Örnek:

 

//Dizi elemanların ilk değer vermek (initializing)

 

int [ ] dizi1 = new int [4] {0, 1, 2, 3 };

 

 

 

ya da ;

 

dizi1 = new int [4] {0, 1, 2, 3 };

 

VI. UYGULAMA

 

Toplam += 1;

 

Gibi artırma ve eksiltme uygulamaları yapın.

 

Bir enum türü yaratın.

 

Bir struct türü yaratın.

 

VII. GÖZDEN GEÇİRME

1. PascalCasing nedir?

 

2. Hangisi geçerli bir değişkendir?

 

int BizimMaas;

 

int 3112Maas;

 

char bizim_maas;

 

char this is maas;

 

int _bizimMaas;

 

3. Bölme ya da çarpma gibi operatörlerin kullanımını ders içinde gördük. Ancak ifade içinde bu operatörlerin öncelikleri vardır. Operatörlerin önceliklerini açıklayın. Parantezleri de göz önünde bulundurun.