C# Veri Tipleri – Bilişim & Programlama
C#

C# Veri Tipleri

C # ‘daki değişkenler aşağıdaki tiplere ayrılır –

  • Değer Tipleri
  • Referans Tipleri
  • İşaretçi İşaretçi

C# Değer Tipleri

 

Değer türü değişkenlerine doğrudan bir değer atanabilir. “System.ValueType” sınıfından türetilirler.

Değer türleri doğrudan veri içerir. Bazı örnekler sırasıyla, sayıları, harfler ve ondalılıklı  sayılarını depolayan int, char ve float’tır. Bir “int” tipi bildirdiğinizde, sistem veriyi depolamak için bellekten yer ayırır.

Aşağıdaki tablo C#’da kullanılabilir değer türlerini listeler.

Tip Boyut Aralık Varsayılan Değer
bool Boolean Değer True yada False False
byte 8-bit işaretsiz integer 0 – 255 0
char 16-bit Unicode karakter U +0000 – U +ffff ‘\0’
decimal 128-bit ondalıklı değer 28-29 basamak (-7.9 x 1028 – 7.9 x 1028) / 100to 28 0.0M
double 64-bit çift ondalıklı değer (+/-)5.0 x 10-324 – (+/-)1.7 x 10308 0.0D
float 32-bit ondalıklı değer -3.4 x 1038 – + 3.4 x 1038 0.0F
int 32-bit işaretli integer tip -2,147,483,648 – 2,147,483,647 0
long 64-bit işaretli integer tip -9,223,372,036,854,775,808 – 9,223,372,036,854,775,807 0L
sbyte 8-bit işaretli integer tip -128 – 127 0
short 16-bit işaretli integer tip -32,768 – 32,767 0
uint 32-bit işaretsiz integer tip 0 – 4,294,967,295 0
ulong 64-bit işaretsiz integer tip 0 – 18,446,744,073,709,551,615 0
ushort 16-bit işaretsiz integer tip 0 – 65,535 0

Belirli bir platformdaki bir türün veya bir değişkenin tam boyutunu elde etmek için sizeof yöntemini kullanabilirsiniz. “Sizeof (type)” ifadesi, nesnenin depolama boyutunu veya tür bayt cinsinden verir.

Aşağıda, herhangi bir makinede int türünün boyutunu almak için bir örnek verilmiştir:

C# Referans Tipleri

Referans türleri bir değişkende saklanan gerçek verileri içermez, ancak değişkenlere bir referans içerirler.

Başka bir deyişle, bir bellek konumuna başvururlar. Birden çok değişken kullanarak, referans türleri bir bellek konumuna başvurabilir. Hafızadaki veriler değişkenlerden biri tarafından değiştirilirse, diğer değişken otomatik olarak bu değişikliği değer olarak yansıtır.

Yerleşik referans türleri örneği: “object“, “dynamic” ve “string

C# object Tipi

“Object” türü, C# Ortak Tip Sistemindeki (CTS) tüm veri türleri için en iyi temel sınıftır. Object, System.Object sınıfı için bir takma addır. Nesne tiplerine başka türlerin, değer tiplerinin, referans türlerinin, önceden tanımlanmış veya kullanıcı tanımlı tiplerin değerleri atanabilir. Bununla birlikte, değerleri atamadan önce, tür dönüşümü gerektirir.

Bir değer türü, nesne türüne dönüştürüldüğünde “boxing” olarak adlandırılır ve diğer yandan, bir nesne türü bir değer türüne dönüştürüldüğünde “unboxing” olarak adlandırılır.

 

C# dynamic Tipi

Dinamik veri türü değişkeninde her türlü değeri saklayabilirsiniz. Bu değişken türlerini kontrol etme çalışma zamanında gerçekleşir.

Dinamik bir tür bildirmek için sözdizim:

Örnek:

Dinamik tipler, nesne tipi değişkenlerini kontrol etme türü derleme zamanında gerçekleşmesi dışında, dinamik tip değişkenlerin çalışma zamanında gerçekleşmesi dışında, nesne tiplerine benzerdir.

C# string Tipi

stirng tipi, bir değişkene herhangi bir string değeri atamanıza izin verir. string türü, System.String sınıfı için bir takma addır. Nesne tipinden türetilmiştir. Bir dize türü için değer, iki durumda dize değişmezleri kullanılarak atanabilir: tırnak işareti ve @tırnak işareti

Örnek:

Kullanıcı tanımlı referans türleri şunlardır: class, interface ve delegate. Bu türleri daha sonra açıklayacağız.

C# Pointer Tipi (C# İşaretçi Tipi)

İşaretçi tipi değişkenleri başka bir türün hafıza adresini saklar. C# işaretçileri, C veya C ++ ‘daki işaretçilerle aynı özelliklere sahiptir.

İşaretçi türü bildirmek için sözdizimi:

Örnek:

Not: Pointer kullanımı güvenli olmadığı için proje ayarlarından unsafe modu aktifleştirmek gerekmektedir. Solution Exploerda proje üzerinde sağ tıklayıp properties bağlantısına tıklayın. Açılan panelden build sekmesinde unsafe modu aktifleştirin.

İşaretleyici türlerini ‘Güvensiz Kodlar’ bölümünde daha detaylı tartışacağız.

Yorum yap

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d blogcu bunu beğendi: