Veri Tipleri, Literaller ve Değiskenler

<< Click to Display Table of Contents >>

Navigation:  Likom Gusto Olay Yönetimi > İleri Düzey Tanımlar ve Yazılım Kodları > C# Diline Giriş >

Veri Tipleri, Literaller ve Değiskenler

Previous pageReturn to chapter overviewNext page

Veri tipleri C#'ta özellikle önemlidir. Çünkü C# sıkı sıkıya tipe dayalı bri dildir. Bu tip uyumu için tüm işlemlerin (derleyici tarafından) tip kontrolünden geçirileceği anlamına gelir. Kural dışı işlemler kaydedilmeyecek ve çalıştırılmayacaktır.

Değer Tipleri

C# , iki genel kategoride veri tipi içerir. Bunlar;

•Değer Tipleri (Value Type)

•Referans Tipleri (Reference Type)

C# da 13 değer tipi bulunmaktadır. Bu değer tipleri C# 'ın anahtar kelimeleri tarafından tanımlanan yerleşik tiplerdir.

Değer tipi terimi, bu tipteki değişkenlerin, değerlerini doğrudan içerdiklerini belirtir. Referans tipleri ise gerçek değere bir referans içerir.

Değişken, bir değer atanabilen ve ismi olan bellek alanıdır. Bir değişkenin değeri programın çalışması esnasında değiştirilebilir. Yani değişkenin içeriği sabit değildir, değiştirilebilir.

Bir değişken kullanılmadan önce tanımlanmalıdır. Değişken tanımına örnek olarak aşağıdaki kod parçası verilebilir.

 

Tip

Anlamı

bool

true/false değerlerini simgeler

byte

8 bit işaretsiz tamsayı

char

Karakter

decimal

Mali hesaplar için numerik tip

double

Çift duyarlıklı kayan noktalı sayı

float

Tek duyarlıklı kayan noktalı sayı

int

Tamsayı

long

Uzun tamsayı

sbyte

8 bit işaretli tamsayı

short

Kısa tamsayı

uint

İşaretsiz tamsayı

ulong

İşaretsiz uzun tamsayı

ushort

İşaretsiz kısa tamsayı

 

 

Tamsayılar


C# 'ta dokuz tamsayı tipi tanımlıdır. char,byte,sbyte,short,ushort,int,uint,long ve ulong. Ancak char tipi özellikle karakterleri simgelemek için kullanılır.Bu tiplerin bit genişliği ve değer aralıkları aşağıdaki tabloda gösterilmiştir.

Tip

Bit Olarak Genişliği

Değer Aralığı

byte

8

0' dan 255'e

sbyte

8

-128'den 127'ye

short

16

-32,768 'den 32,767 'ye

ushort

16

0'dan 65,535'e

int

32

-2,147,483,648'den 2,147,483,647'ye

uint

32

0'dan 4,294,295'e

long

64

-9,223,272,036,854,775,808'den  9,223,272,036,854,775,807'ye

ulong

64

0'dan 18,446,744,073,709,551,615'e

 

decimal Tipi


decimal, parasal hesaplamalarda kullanılması amaçlanarak yapılmıştır. 128 bitlik olan bu tip ile sayıları yuvarlama hataları olmadan  28 ondalık basamağa kadar simgeleyebilmektedir.

 

Karakterker


C# dilinde karakterler Unicode olarak isimlendirilen 16 bitlik karakter tipidir. Unicode bütün insani dillerde mevcut olan karakterlerin tümünü simgelemeye yetecek kadar büyük bir karakter seti tanımlar. C#'ta char, 0'dan 65,535 arasında değere sahip olabilmektedir.

Bir karakter değişkenine tek tırnak içine alınan bir karakter ile değer atanabilir. Örneğin:

 

char ch; // ch karakter değişkeni yaratılıyor

ch= 'G'; // ch karakter değişkenine 'G' karakteri atanıyor

 

bool Tipi


bool tipi doğru/yanlış değerlerini ifade eder. C#'ta doğru  ve yanlış değerleri true ve false anahtar kelimeleri ile kullanılır. Yani bool türünden bir değişken bu iki değerden birisine sahip olabilir. Tam sayı ile bu tip dönüşümü söz konusu değildir. Örneğin 0 değeri false'a veya 1 değeri de true 'ya dönüştürülemez.

 

Literaller

C# 'ta literaller, insanların okuyabileceği biçimde temsil edilen sabit değerlere karşılık gelir. Örneğin 100 sayısı bir literaldir. Ayrıca literaller sabit olarak da adlandırılır.

•C# literalleri herhangi bir değer tipinde olabilir. Her literalin gösterilişi söz konusu literalin tipine bağlıdır. Örneğin

•Karakter sabitleri tek tırnak içine alınır(Örneğin '&')

•Tamsayı literaller ondalık kısmı olmayan sayılar şeklinde belirtilir. Örneğin (100,9,-2)

•long tipinden literal oluşturmak için sayının sonuna l veya L ekleyin (Örneğin 12L )

float literalini belirtmek için sonuna f veya F ekleyin (Örneğin 5.22F )

decimal literalini belirtmek için değerin sonuna m veya M ekleyin ( Örneğin 12.32M)

 

Karakter Kaçış Sekansları

Karakter sabitlerini tek tırnak içine almak basılan karakterin pek çoğu için işe yara; fakat bazı karakterleri (örneğin carriage return - paragraf sonu karakteri) algılamak zor olacaktır. Bu değerler direkt olarak kullanılamaz. Bu yüzden C# ta birkaç tane karakter sekansı bulunmaktadır.

 

Örneğin tek tırnak, karakter literalinin başlamasını ve bitmesini simgeler. Peki karakter olarak tek tırnağı göstermek istediğimizde ne yapacağız? Bu durumda kaçış karakteri kullanılmalıdır.

char tirnak = '\'';

char sekme = '\t';

char slash = '\\';

 

Kaçış Sekansı

Anlamı

\a

Uyarı(Zil)

\b

Backspace (geri al)

\f

Form feed (Form besleme)

\n

new line (Yeni satır)

\r

Carriage return (paragraf sonu)

\t

Yatay Sekme

\v

Düşey sekme

\0

null

\'

Tek tırnak

\"

Çift tırnak

\\

Ters bölü

 

Karakter Katarı Literali


Karakter katarı, çift tırnak içine alınan karakter kümesidir. Örneğin:

 

"Likom Gusto Olay Yönetimi"

 

bir karakter katarıdır. Karakter katarının içerisinde kaçış sekansları da kullanılabilir.  Çıktısı aşağıdaki gibi olan bir metnin C# karşılığı verilmiştir.

Çıktısı

Likom Gusto Olay Yönetimi

"v2"              dökümanıdır.

C# kodu

"Likom Gusto Olay Yönetimi\n\"\"v2\"\tdökümanıdır"

 

Dİğer bir karakter katarı stili de harfi harfine karakter katarı (verbatim string literal) bulunmaktadır. Bu karakter katarı @ işareti ile başlar ve bunu çift tırnak içerisine alınmış karakter katarı izler. Tırnak içine alınmış karakter katarının içeriği değişiklik yapılmaksızın kabul edilir ve iki veya daha fazla satır uzunluğunda olabilir. (") karakterini elde edebilmek için ise iki adet çift tırnak kullanılmalıdır. ("")

 

Bir önceki örneği verbatim  string literal ile tanımlanması aşağıdaki gibidir.

string oy=@"Likom Gusto Olay Yönetimi

"v2"              dökümanıdır."

 

 

Değişkenler

Değişkenler şu ifade stili ile deklare edilirler.

 

tip değişken-ismi

 

Bir değişkeni kullanmadan önce değişkene bir değer vermelisiniz. Bunun bir yolu atama operatörünün yardımı ile yapılmasıdır. Diğer bir yöntem ise değişken deklare edilirken değerinin de belirtilmesidir.

 

int a; // bir değişken yaratılıyor

int b; // başka bir değişken yaratılıyor.

a = 100; // a değişkenine 100 değeri atanıyor

b = a / 2; // b değişkenine değer atanıyor

// değer atayarak deklare örnekleri

int a=100;

int b = a / 2;

 

Değişkenin Özellikleri

•Değiskenin tipi tanımlanmalıdır.

•Bir değeri olmalıdır.

•İsimlendirmesinde büyük-küçük harf ayrımı vardır.

•Değisken adları rakamla baslayamaz, program tarafından saklanmıs kelimeler kullanılamaz.

•Özel karakter içermez örneğin /,*,-,+

•Adlandırırken bosluk  karakteri kullanılmamalıdır.

•Türkçe karakter kullanılmamalıdır.

 

C# Saklanmış Kelimeler


Saklanmış kelimeler programlama diline özgü olarak anlamlandırılmış kelimelerdir. Kullanıcı bu kelimeler ile aynı isimde değişken tanımı yapamaz. Saklanmış kelimeler aşağıda belirtilmiştir. Bunlardan bir kısmından bahsedilecektir. Fakat, bir çoğu kullanılmayacağından dolayı değinilmeyecektir.

 

abstract

event

new

struct

as

explicit

null

switch

base

extern

object

this

bool

false

operator

throw

break

finally

out

true

byte

fixed

override

try

case

float

params

typeof

catch

for

private

unit

char

foreach

protected

ulong

checked

goto

public

uint

class

if

readonly

ulong

const

implicit

ref

unchecked

continue

in

return

unsafe

decimal

int

sbyte

ushort

default

interface

sealed

using

delegate

internal

short

virtual

do

is

sizeof

volatile

double

lock

stackalloc

void

else

long

static

while

enum

namespace

string