

C# Programlama Dili: Değişkenler ve Veri Türleri
C# programlama dilinde, değişkenler ve veri türleri, programlarımızın temel yapı taşlarını oluşturur. Herhangi bir programlama dilinde olduğu gibi, C#’ta da verileri saklamak, işlemek ve yönetmek için değişkenlere ve bu değişkenlerin taşıyabileceği veri türlerine ihtiyaç duyarız. Bu makalede, C#’taki değişkenler ve veri türleri konusunu derinlemesine inceleyeceğiz.
Değişkenler (Variables)
Değişkenler, programın çalışma zamanında değerleri saklamak için kullanılan bellek konumlarına verilen isimlerdir. Bir değişken, belirli bir veri türüne ait bir değeri tutar. C#’ta bir değişken tanımlarken, değişkenin türünü ve adını belirtmeniz gerekir.
Değişken Tanımlama
C#’ta bir değişken tanımlamanın genel sözdizimi şöyledir:
veriTürü değişkenAdı;
Örneğin:
int yas;
Bu ifade, yas
adında bir tamsayı (integer) değişkeni tanımlar. Değişkeni tanımlarken aynı zamanda bir başlangıç değeri de atayabilirsiniz:
int yas = 30;
Değişken İsimlendirme Kuralları
C#’ta değişken isimleri belirli kurallara uymalıdır:
- Değişken isimleri harf (a-z, A-Z), rakam (0-9) ve alt çizgi (_) karakterlerini içerebilir.
- Değişken isimleri bir harf veya alt çizgi ile başlamalıdır. Rakam ile başlayamaz.
- C# büyük/küçük harf duyarlıdır. Yani
yas
veYas
farklı değişkenlerdir. - C#’ta ayrılmış anahtar kelimeler (
int
,float
,class
gibi) değişken adı olarak kullanılamaz.
Değişken Örnekleri
Aşağıda farklı veri türlerinde değişken tanımlama örnekleri verilmiştir:
int sayi = 10;
double pi = 3.14;
string isim = "Ahmet";
bool aktifMi = true;
Veri Türleri (Data Types)
Veri türleri, bir değişkenin hangi türde veriyi saklayabileceğini belirtir. C#’ta temel olarak iki tür veri türü bulunur: değer türleri (value types) ve referans türleri (reference types).
Değer Türleri (Value Types)
Değer türleri, değişkenin doğrudan değeri sakladığı veri türleridir. Değer türleri belleğin stack bölgesinde saklanır. C#’taki bazı temel değer türleri şunlardır:
int
: Tamsayı değerleri saklar (örneğin, -10, 0, 42).float
: Kayan noktalı sayıları saklar (örneğin, 3.14, -2.71). Daha az hassasiyete sahiptir.double
: Kayan noktalı sayıları saklar (örneğin, 3.14159, -2.71828).float
‘a göre daha yüksek hassasiyete sahiptir.decimal
: Finansal ve parasal hesaplamalar için yüksek hassasiyetli ondalık sayıları saklar.bool
: Mantıksal değerleri (true
veyafalse
) saklar.char
: Tek bir karakteri saklar (örneğin, ‘A’, ‘5’, ‘).struct
: Değer türünde özel veri yapıları oluşturmak için kullanılır.enum
: Adlandırılmış sabit değerler kümesini tanımlamak için kullanılır.
int sayi1 = 10;
int sayi2 = sayi1;
sayi2 = 20;
Console.WriteLine(sayi1); // Output: 10
Console.WriteLine(sayi2); // Output: 20
Bu örnekte, sayi1
‘in değeri sayi2
‘ye kopyalanır. sayi2
‘nin değeri değiştirildiğinde, sayi1
‘in değeri etkilenmez.
Referans Türleri (Reference Types)
Referans türleri, değişkenin değerini değil, değerin bellekteki adresini (referansını) saklar. Referans türleri belleğin heap bölgesinde saklanır. C#’taki bazı temel referans türleri şunlardır:
string
: Metin dizilerini saklar (örneğin, “Merhaba Dünya”, “C# Programlama”).object
: Tüm diğer veri türlerinin temel sınıfıdır. Herhangi bir türdeki değeri saklayabilir.class
: Nesne yönelimli programlamanın temelini oluşturur. Verileri ve davranışları bir arada tutar.interface
: Bir sınıfın uygulaması gereken bir sözleşmeyi tanımlar.delegate
: Metotları temsil eden bir türdür.array
: Aynı türden birden fazla öğeyi saklamak için kullanılır.
string str1 = "Merhaba";
string str2 = str1;
str2 = "Dünya";
Console.WriteLine(str1); // Output: Merhaba
Console.WriteLine(str2); // Output: Dünya
Bu örnekte, str1
‘in referansı str2
‘ye kopyalanır. Ancak, stringler immutable (değişmez) olduklarından, str2
‘ye yeni bir değer atandığında, aslında yeni bir string nesnesi oluşturulur ve str2
bu yeni nesneye referans eder. Bu nedenle, str1
‘in değeri değişmez.
Ancak, class gibi referans tiplerinde durum farklıdır:
class Araba
{
public string Model { get; set; }
}
Araba araba1 = new Araba { Model = "BMW" };
Araba araba2 = araba1;
araba2.Model = "Mercedes";
Console.WriteLine(araba1.Model); // Output: Mercedes
Console.WriteLine(araba2.Model); // Output: Mercedes
Bu örnekte, araba1
ve araba2
aynı nesneyi referans eder. Bu nedenle, araba2
‘nin Model
özelliği değiştirildiğinde, araba1
‘in Model
özelliği de etkilenir.
var
Anahtar Kelimesi
C# 3.0 ile birlikte gelen var
anahtar kelimesi, değişkenin türünü derleyici tarafından otomatik olarak belirlenmesini sağlar. var
anahtar kelimesi kullanılırken, değişkenin mutlaka bir başlangıç değeri olmalıdır, çünkü derleyici türü bu başlangıç değerine göre belirler.
var sayi = 10; // sayi int türünde
var isim = "Ayşe"; // isim string türünde
var pi = 3.14; // pi double türünde
var
anahtar kelimesi, kodun okunabilirliğini artırabilir ve özellikle karmaşık türlerle çalışırken faydalı olabilir. Ancak, aşırı kullanımı kodun anlaşılabilirliğini azaltabilir, bu nedenle dikkatli kullanılmalıdır.
Veri Türü Dönüşümleri (Type Conversions)
C#’ta farklı veri türleri arasında dönüşümler yapmak gerekebilir. Bu dönüşümler iki şekilde yapılabilir: örtük (implicit) ve açık (explicit) dönüşümler.
Örtük Dönüşümler (Implicit Conversions)
Örtük dönüşümler, derleyicinin otomatik olarak yapabildiği dönüşümlerdir. Bu dönüşümler genellikle daha küçük bir veri türünden daha büyük bir veri türüne yapılır ve veri kaybı olmaz.
int sayi = 10;
double pi = sayi; // int türü double türüne örtük olarak dönüştürüldü
Açık Dönüşümler (Explicit Conversions)
Açık dönüşümler, programcının bilinçli olarak yaptığı dönüşümlerdir. Bu dönüşümler genellikle daha büyük bir veri türünden daha küçük bir veri türüne yapılır ve veri kaybı olabilir. Açık dönüşümler cast operatörü kullanılarak yapılır.
double pi = 3.14;
int sayi = (int)pi; // double türü int türüne açık olarak dönüştürüldü (veri kaybı olabilir)
Açık dönüşümlerde veri kaybı olabileceği için, dikkatli olunmalı ve gerektiğinde veri kaybını önlemek için uygun yöntemler kullanılmalıdır.
Sonuç
C# programlama dilinde değişkenler ve veri türleri, programlarımızın temelini oluşturur. Değişkenlerin nasıl tanımlandığını, hangi veri türlerinin kullanılabileceğini ve veri türleri arasındaki dönüşümlerin nasıl yapıldığını anlamak, etkili ve güvenilir C# uygulamaları geliştirmek için önemlidir. Bu makalede, C#’taki değişkenler ve veri türleri konusunu detaylı bir şekilde ele aldık. Umarım faydalı olmuştur.
Unutmayın ki, sürekli pratik yaparak ve farklı senaryolarda değişkenleri ve veri türlerini kullanarak, bu konudaki becerilerinizi geliştirebilirsiniz.
Bir yanıt bırakın