Aracılığıyla paylaş


C# Diline ve.NET Framework'e Giriş

C#, geliştiricilerin .NET Framework üzerinde çalışan güvenli ve sağlam çeşitli uygulamalar oluşturmasına olanak sağlayan zarif ve tür kullanımı uyumlu nesne yönlü bir dildir. Geleneksel Windows istemci uygulamaları, XML Web Hizmetleri, dağıtılmış bileşenler, istemci-sunucu uygulamaları, veritabanı uygulamaları ve çok daha fazlasını oluşturmak için C# kullanabilirsiniz. Visual C# 2010 C# dilinin 4.0 sürümü ve .NET Framework 4.0 sürümü üzerinde uygulama geliştirmeyi kolaylaştırmak için gelişmiş kod düzenleyici, uygun kullanıcı arabirimi tasarımcıları, tümleşik hata ayıklayıcı ve birçok diğer aracı sağlar.

Not

Visual C# belgesi, temel programlama kavramlarını anladığınızı varsayar. Tam bir acemi iseniz, Web'de bulunan Visual C# Express öğesini incelemek isteyebilirsiniz. Ayrıca pratik programlama becerileri öğrenmek için C# hakkındaki kitap ve Web kaynaklarından yararlanabilirsiniz.

C# Dili

C# sözdizimi son derece etkileyicidir ve öğrenilmesi de bir o kadar basit ve kolaydır. C#'nin küme ayracı sözdizimi, C, C++ ya da Java'ya aşina olan kişilere tanıdık gelecektir. Bu dillerden herhangi birini bilen geliştiriciler genellikle kısa süre içerisinde C# üzerinde üretken bir şekilde çalışmaya başlayabilir. C# sözdizimi, C++'nin birçok karmaşıklığını basitleştirir ve boş değer atanabilir değer türleri, numaralandırmalar, temsilciler, lambda ifadeleri ve doğrudan bellek erişimi gibi Java'da bulunmayan güçlü özellikler sunar. C#, artırılmış tür güvenliği ve performans sağlayan genel yöntemler ve türler ile birlikte koleksiyon sınıfı uygulayıcılarının, istemci kodu tarafından kullanılması kolay olan özel yineleme davranışlarını tanımlamasını sağlayan yineleyicileri destekler. Dil İle Tümleşik Sorgu (LINQ) ifadeleri güçlü yazılmış sorguyu bir birinci sınıf dil yapısı haline getirir.

Nesne yönelimli bir dil olarak, C# kapsülleme, devralma ve çok biçimlilik kavramlarını destekler. Main yöntemi ve uygulamanın giriş noktası dahil tüm değişkenler ve yöntemler, sınıf tanımları içine alınır. Bir sınıf doğrudan bir üst sınıftan alabilir, ancak herhangi bir sayıda arabirim uygulayabilir. Bir üst sınıfta sanal yöntemleri geçersiz kılan yöntemler, kazayla yeniden tanımlama olmaması için override anahtar sözcüğünü gerektirir. C#'ta bir yapı hafif bir sınıf gibidir; yapı arabirimleri gerçekleştiren ama devralmayı desteklemeyen bir yığın ayırma türüdür.

Temel nesne yönelimli ilkelere ek olarak, C# aşağıdakiler de dahil bir çok yenilikli dil yapısı üzerinden yazılım bileşeni geliştirmeyi kolaylaştırır:

  • Tür kullanımı uyumlu olay bildirimlerini etkinleştiren temsilciler adı verilen yalıtılmış yöntem imzaları.

  • Özel üye değişkenleri için erişimci görevi gören özellikler.

  • Çalışma zamanındaki türler hakkında bildirime dayalı meta veriler sağlayan öznitelikler.

  • Satır içi XML belgeleri yorumları.

  • Çeşitli veri kaynakları boyunca yerleşik sorgu yetenekleri sağlayan Dil İle Tümleşik Sorgu (LINQ).

COM nesneleri veya yerel Win32 DLL'leri gibi öteki Windows yazılımı ile etkileşmek zorundaysanız, bunu "Birlikte Çalışma" adında bir işlem üzerinden C#'de yapabilirsiniz. Birlikte çalışma C# programlarının yerel C++ uygulamasının yapabildiği her şeyi yapabilmesini sağlar. C#, doğrudan bellek erişiminin kesinlikle kritik olduğu durumlarda dahi işaretçileri ve "güvenli olmayan" kod kavramını destekler.

C# yapı işlemi, C ve C++ ile karşılaştırıldığında basittir ve Java'da olduğundan daha esnektir. Belirli bir sırada bildirilmesi gereken türler ve yöntemlere ilişkin gereksinim ve ayrı başlık dosyası mevcut değildir. Bir C# kaynak dosyası, herhangi bir sayıda sınıfı, yapıyı, arabirimi ve olayı tanımlayabilir.

Aşağıdakiler ek C# kaynaklarıdır:

.NET Framework Platform Mimarisi

C# programları, ortak dil çalışma zamanı (CLR) olarak bilinen sanal bir yürütme sistemi ve benzersiz bir sınıf kitaplığı kümesi içeren Windows'un ayrılmaz bir bileşeni durumundaki .NET Framework üzerinde çalışır. CLR, Microsoft'un ortak dil altyapısının (CLI) ticari uygulamasına yönelik, diller ve kütüphanelerin birlikte sorunsuz çalıştığı yürütme ve geliştirme ortamları oluşturmak için temel olan uluslararası bir standart uygulamasıdır.

C# ile yazılmış kaynak kodu CLI belirtimine uyan bir ara dile (IL) derlenir. IL kodu ve bit eşlemler ve dizeler gibi kaynakları genellikle .exe veya .dll uzantılı derleme adında çalıştırılabilir bir dosyada diske depolanır. Bir derleme; derlemenin türleri, sürümü, kültürü ve güvenlik gereksinimleri hakkında bilgiler sağlayan bir bildirim içerir.

C# programı yürütüldüğünde derleme bildirimdeki bilgilere göre çeşitli işlemler yapabilecek olan CLR'ye yüklenir. Sonra güvenlik gereksinimleri karşılanırsa, IL kodunu yerli makine yönergelerine dönüştürmek için CLR tam zamanında (JIT) derleme gerçekleştirir. CLR ayrıca otomatik çöp toplama, özel durum işleme ve kaynak yönetimine ilişkin diğer hizmetleri de sağlar. CLR tarafından yürütülen kod belirli bir sistemi hedefleyen yerel makine dili içerisinde derlenmiş olan "yönetilmeyen kodun" aksine bazen "yönetilen kod" olarak da ifade edilir. Aşağıdaki diyagram C# kaynak kodu dosyaları, .NET Framework sınıf kitaplıkları, derlemeler ve CLR'nin derleme zamanı ve çalışma zamanı ilişkilerini gösterir.

C# kaynak kodundan makine yürütmesine

Dil birlikte çalışabilirliği .NET Framework öğesinin temel özelliğidir. C# derleyicisi tarafından üretilen IL kodu Ortak Tür Belirtimi (CTS) için uygun olduğundan, C#'den oluşturulan IL kodu, Visual Basic ve Visual C++'ın .NET sürümlerinden ya da 20'den fazla diğer CTS uyumlu dilin herhangi birinden oluşturulan kod ile etkileşime girebilir. Tek bir derleme, .NET dillerinde yazılmış birçok modül içerebilir ve türler de birbirlerine sanki aynı dilde yazılmışlar gibi başvurabilir.

Çalıştırma zamanı hizmetlerine ek olarak .NET Framework öğesi dosya girdisi, çıktısından dize değiştirmeye, XML ayrıştırmaya, Windows Forms denetimlerine kadar her şey için geniş bir kullanışlı işlevsellik sağlayan, ad alanları olarak düzenlenmiş 4000'den fazla sınıftan oluşan kapsamlı bir kitaplık içerir. Tipik C# uygulaması .NET Framework sınıfı kitaplığını genel kullanıma açma işlerini ele almak için kapsamlı olarak kullanır.

.NET Framework hakkında daha fazla bilgi için bkz. Overview of the .NET Framework.

Özel Kitap Başlıkları

Learning C# 3.0: Master the fundamentals of C# 3.0 içinde C# Language Fundamentals

Learning C# 3.0: Master the fundamentals of C# 3.0 içinde C# and .NET Programming

Learning C# 3.0: Master the fundamentals of C# 3.0 içinde Visual Studio 2008 and C# Express 2008

Ayrıca bkz.

Diğer Kaynaklar

Visual C#