A'dan Z'ye C# Öğreniyorum...

 

1. C# Nedir?

C# programlama dili Microsoft’un son zamanlarda geliştirdiği .NET platformunun bir öğesidir.

C/C++ ve Java dillerinden türetilmiş, bu dillerin dezavantajlarının elenip iyi yönlerinin alındığı .Net platformu için sıfırdan geliştirilmiş 100 nesne yönelimli bir dildir. Java dilinden farklı olarak C# dilinde işaretçiler (pointer) kullanılabilmektedir.

.NET uyumlu dillerin hepsi aynı değişkenleri ve benzer nesne yönelimli özellikleri taşır.

2. CLR ( Common Language Runtime ) - Ortak Dil Çalışma Platformu

 

.NET altyapısında programların çalışmasını kontrol eden ve işletim sistemi ile programımız arasında yer alan arabirimdir.

Platformdan bağımsız bir ortam istiyorsak, ihtiyaç duyulan şey CLR dir hangi platformda iseniz ( Linux,Mac, Windows ) CLR bu noktada devreye girer ve

.NET programlarının farklı platformlarda işletim sistemine göre çalıştırır.

3. CTS ( Common Type System ) - Ortak Tip Sistemi

 

Bütün veri tiplerinin tanımlı olduğu bir sistem olarak düşünebiliriz C# dilindeki veri türleri aslında CTS’deki veri türlerine karşılık gelen ara yüzlerdir.

CTS sayesinde .NET platformu için geliştirilen bütün diller aynı veri tiplerini kullanırlar, tek değişen türlerin tanımlama yöntemi ve söz dizimidir.

4. Assembly

 

.NET platformu için yazılan bütün kodların sonucunda oluşan .exe ve . dll uzantılı dosyalara genel olarak assembly denilmektedir.

Derlenmiş kodlar ve metadata olarak adlandırlan özniteleyici kodlar Assembly içerisinde bulunurlar.

Assembly’de ayrıca versiyon bilgisi de tutulur.

5. Namespaces and .NET Class Library ( İsim Alanları ve .NET Sınıf Kütüphanesi )

 

.NET Framework’ün programcılara sunduğu bir takım temel türler ve sınıflar mevcuttur.

Bütün bu sınıfları ve türleri iyi organize edebilmek için .NET, isim alanı

( namespace ) kavramını kullanmaktadır.

.NET ’teki sınıf kütüphaneleri bir dilden bağımsız bir yapıdadır.

C# dilinde .NET Framework sınıf kütüphanesi içerisindeki veri türleri ve sınıflar “using” anahtar sözcüğü ile kullanılır.

.NET sınıf kütüphanesinde bulunan ve en sık kullanılan sınıf kütüphaneleri şunlardır :

- System : temel sınıfları içerir. Tüm sınıf kütüphaneleri bu isim alanı içinde kümelenmiştir.

- System.Data : veritabanı işlemlerinin tamamı için hazır gelen sınıf kütüphanesine bu isim alanı ile erişilir.

- System.Xml : veri biçimlendirme ve internetten veri paylaşımı için en çok kullanılan teknolojilerden biri olan XML ile çalışmak için gerekli sınırları içerir.

- System.Net : http ve ağ protokollerini içeren isim alanıdır.

- System.IO : dosyaları çalıştırmak (okuma - yazma) için kullanılır.

- System.Windows.Forms : Windos uygulamalarda kullanılan görsel kontrolleri barındıran isim alanıdır.

C# dilinde her şey sınıflarla temsil edildiği için “Main()” işlevi de bizim belirlediğimiz bir sınıfın işlevi olmak zorundadır.

- Main() işlevi bizim için programımızın başlangıç noktasıdır.

- Sınıflar isim alanı ( namespace ) dediğimiz kavramla erişilmesi kolay bir hale gelmiştir.

 

6. Temel Veri Türleri

 

C#’da veri tipleri temel olarak 2 ’ye ayrılırlar. Bunlar önceden tanımlanmış veri türleri ve kullanıcı tarafından tanımlanmış veri türleridir.

- Önceden tanımlanmış olan veri türleri de kendi arasında

değer tipi ( value type ) ve

referans tipi ( reference type ) olarak 2’ye ayrılır.

Verinin bellekte tutulması 6 bölgeden biri ile olmaktadır. Bunlar :

-- Stack Bölgesi : bir tamsayı türünden nesnenin çalışma zamanında yüklendiği yer RAM’ in stack bölgesidir. Tanımlı değişkenlerin tutulduğu bellek alanıdır.

-- Heap Bölgesi : bütün C# nesneleri bu bölgede oluşturulur. Stack’ten farklı olarak bu bölgede tahsisatı yapılacak nesnenin derleyici tarafından bilinmesi zorunlu değildir. Bu bölgede bir nesneye alan ayırmak için new anahtar sözcüğü kullanılır.

 

Değer veri türleri “Stack”, Referans veri türleri “Heap” te tutulurlar.

-- Register Bölgesi : Registerlar mikroişlemci üzerinde bulunan özel yapılardır. Diğer bölgelere göre veri transferi daha hızlıdır.

-- Static Bölge : Bellekteki herhangi bir bölgeyi temsil eder. Static alanlarda tutulan veriler programın bütün çalışma süresince saklanır.

-- Sabit Bölge : Program içerisinde, değerlerin değişmeden sürekli olarak aynı kaldığı bölümdür.

-- RAM Olayan Bölge : Bellek bölgesini temsil etmeyen disk alanlarını temsil eder.

C#’da bir değişkene herhangi bir değer atamadan onu kullanmak yasaktır. Eğer bir değişkeni kullanmak istiyorsak değişkenlere bir değer verilmesi zorunludur. Bu kural değer ve referans tipleri için de geçerlidir.

 

Yorum Yaz