C# (C sharp), Microsoft tarafından geliştirilen, nesne yönelimli, modern ve türe uygun, makine dili ile insan dili arasında orta seviye bir yazılım dilidir. C#, C dil ailesinin bir üyesidir ve .NET platformunun bir parçasıdır. C#, çeşitli özellikleriyle kararlı ve güvenli uygulamalar geliştirmeye olanak sağlar. C#'ın bazı temel özellikleri;
Nesne Yönelimli Programlama (OOP):
Geniş Kütüphane Desteği: C#, .NET platformu üzerine inşa edildiği için geniş bir kütüphane ve framework desteğine sahiptir. .NET Framework, .NET Core ve son zamanlarda .NET 5 ve sonrası ile .NET'in çeşitli bileşenlerini ve kütüphanelerini kullanabilirsiniz.
Yapılandırılmış Dil: C#, derleyici tarafından tür güvenliği sağlamak için yapılandırılmış bir dildir. Bu, hataların derleme zamanında tespit edilmesini ve daha güvenilir kod yazılmasını sağlar.
Kapsülleme ve Erişim Belirleyicileri:
Gelişmiş Dil Özellikleri:
Property ve Indexers: C#, sınıflara property ve indexer eklemenizi sağlar. Properties, sınıf alanlarına erişim sağlayan özel bir yol sunar ve indexers, bir sınıfın dizinleme işlemlerinin özelleştirilmesini mümkün kılar.
Events(Olaylar) ve Delegates(Delegeler): C#, olaylar ve delegeler gibi etkinlik tabanlı programlamayı destekler. Delegeler, bir işlevi bir nesne aracılığıyla çağırmak için kullanılırken, olaylar, bir nesnenin başka bir nesneyle etkileşime girmesini sağlar.
Asenkron Programlama Desteği: C#, asenkron ve paralel programlamayı destekler. async ve await anahtar kelimeleri, asenkron operasyonların daha okunabilir ve yönetilebilir olmasını sağlar.
Veri Tipleri ve Tür Güvenliği: C#, geniş bir veri tipi yelpazesine sahiptir, bunlar arasında sayılar, metin, mantık ve tarih gibi temel veri tipleri bulunur. Ayrıca, dil tür güvenliğini destekler, bu da tür dönüşümlerinin güvenliğini ve hatasız kod oluşturma sürecini sağlar.
LINQ (Language Integrated Query): C#, LINQ kullanarak veri koleksiyonlarında sorgular yazmanızı sağlar. Bu, veri manipülasyonunu ve sorgulamayı dilin bir parçası olarak entegre eder, bu da kodun daha temiz ve okunabilir olmasını sağlar.
XML ve JSON İşleme Desteği: C#, XML ve JSON gibi yaygın veri formatlarını işlemek için entegre desteğe sahiptir. Bu, web hizmetleri ile iletişim kurarken veya yapılandırma dosyalarını okurken kullanışlıdır.
Platform Bağımsızlık: C#, platform bağımsız olarak çalışabilir. Bu, .NET Core veya .NET 5 gibi çapraz platform destekli sürümlerle, C# kodunun Windows, Linux veya macOS gibi farklı işletim sistemlerinde çalıştırılabilmesini sağlar.
Garbage Collection, erişilemez durumdaki nesneleri belekten otomatik siler.
Nullable Types, değer atanmayan değişkenlere karşı koruma sağlar. Güçlü ve esnek kod yazma olanağı sunar; değişkenlerin NULL olarak tanımlanmasına izin verir.
Exception Handling, hata algılama ve program çökmelerine karşı kurtarma için yapılandırılmış ve genişletilebilir bir yaklaşım sağlar.
Lambda Expressions, işlevsel programlama tekniklerini destekler.
Güvenlik ve Performans: C#, güvenlik ve performansa önem verir. Örneğin, dil tür güvenliği, bellek yönetimi ve çöp toplama gibi konulara odaklanır.
Modern Dil Özellikleri: C#, zamanla dilin özelliklerini geliştirmiştir. Örneğin, son sürümler async/await, pattern matching, tuple, nullable reference types gibi modern dil özelliklerini tanıtmıştır.
C#, birleşik bir tür sistemine sahiptir ve int, double gibi ilkel türler de dahil olmak üzere tüm C# türleri tek bir object kök türünden miras alır. Tüm türler bir dizi ortak işlemler paylaşır. Herhangi bir türe sahip değerler tutarlı bir şekilde saklanabilir, taşınabilir ve üzerinde işlem yapılabilir. C# hem kullanıcı tanımlı referans türlerini hem de değer türlerini destekler. C#, nesnelerin dinamik tahsisine ve hafif yapıların satır içi depolanmasına izin verir. C#, programların ve kitaplıkların zaman içinde uyumlu bir şekilde gelişebilmesini sağlamak için sürüm oluşturmayı vurgular...
C#, geniş bir geliştirme ortamı ve sürekli olarak gelişen bir dil ekosistemi ile birlikte gelir, bu da onu modern yazılım geliştirme projeleri için popüler bir seçenek haline getirir.
C# programları, ortak dil çalışma zamanı (CLR) adı verilen bir sanal yürütme sistemi ve bir dizi sınıf kitaplığı olan .NET üzerinde çalışır. CLR, uluslararası bir standart olan ortak dil altyapısının (CLI) Microsoft tarafından uygulanmasıdır. CLI, dillerin ve kitaplıkların sorunsuz bir şekilde birlikte çalıştığı, yürütme ve geliştirme ortamları oluşturmanın temelidir.
Kullanım Alanları