.NET sınıf kitaplığına genel bakış
.NET API'leri, geliştirme sürecini hızlandıran ve en iyi duruma getiren ve sistem işlevselliğine erişim sağlayan sınıflar, arabirimler, temsilciler ve değer türlerini içerir. Diller arasında birlikte çalışabilirliği kolaylaştırmak için çoğu .NET türü CLS ile uyumludur ve bu nedenle derleyicisi ortak dil belirtimine (CLS) uyan herhangi bir programlama dilinden kullanılabilir.
.NET türleri. .NET uygulamalarının, bileşenlerinin ve denetimlerinin temelidir. .NET, aşağıdaki işlevleri gerçekleştiren türler içerir:
- Temel veri türlerini ve özel durumları temsil eder.
- Veri yapılarını kapsülleme.
- G/Ç gerçekleştirin.
- Yüklenen türler hakkındaki bilgilere erişin.
- .NET güvenlik denetimlerini çağır.
- Veri erişimi, zengin istemci tarafı GUI ve sunucu tarafından denetlenen istemci tarafı GUI'sini sağlayın.
.NET, zengin bir arabirim kümesinin yanı sıra soyut ve somut (soyut olmayan) sınıflar sağlar. Somut sınıfları olduğu gibi kullanabilir veya çoğu durumda kendi sınıflarınızı onlardan türetebilirsiniz. Bir arabirimin işlevselliğini kullanmak için, arabirimi uygulayan bir sınıf oluşturabilir veya arabirimi uygulayan .NET sınıflarından birinden bir sınıf türetebilirsiniz.
Adlandırma kuralları
.NET türleri, bir hiyerarşiyi belirten noktalı söz dizimi adlandırma düzeni kullanır. Bu teknik, daha kolay aranabilmeleri ve başvurulabilmeleri için ilgili türleri ad alanları halinde gruplandırır. Tam adın en sağdaki noktaya kadar ilk bölümü ad alanı adıdır. Adın son bölümü tür adıdır. Örneğin, System.Collections.Generic.List<T>
ad alanına ait System.Collections.Generic
olan türü temsil ederList<T>
. içindeki System.Collections.Generic türleri genel koleksiyonlarla çalışmak için kullanılabilir.
Bu adlandırma düzeni, .NET'i genişleten kitaplık geliştiricilerinin hiyerarşik tür grupları oluşturmasını ve bunları tutarlı, bilgilendirici bir şekilde adlandırmasını kolaylaştırır. Ayrıca türlerin tam adlarıyla (ad alanı ve tür adıyla) açıkça tanımlanmasını sağlar ve bu da tür adı çakışmalarını önler. Kitaplık geliştiricilerinin ad alanları için ad oluştururken aşağıdaki kuralı kullanması beklenir:
Şirket Adı.TechnologyName
Örneğin, ad alanı Microsoft.Word
bu kılavuza uygundur.
İlgili türleri ad alanları halinde gruplandırmak için adlandırma desenlerinin kullanılması, sınıf kitaplıkları oluşturmanın ve belgelemenin kullanışlı bir yoludur. Ancak bu adlandırma düzeninin görünürlük, üye erişimi, devralma, güvenlik veya bağlama üzerinde hiçbir etkisi yoktur. Bir ad alanı birden çok derleme arasında bölümlenebilir ve tek bir derleme birden çok ad alanından türler içerebilir. Derleme, ortak dil çalışma zamanında sürüm oluşturma, dağıtım, güvenlik, yükleme ve görünürlük için resmi bir yapı sağlar.
Ad alanları ve tür adları hakkında daha fazla bilgi için bkz . Ortak Tür Sistemi.
Sistem ad alanı
Ad System alanı, .NET'teki temel türler için kök ad alanıdır. Bu ad alanı, tüm uygulamalar tarafından kullanılan temel veri türlerini temsil eden sınıflar içerir; örneğin, Object (devralma hiyerarşisinin kökü), Byte, Char, Array, Int32ve String. Bu türlerin çoğu, programlama dilinizin kullandığı temel veri türlerine karşılık gelir. .NET türlerini kullanarak kod yazarken, .NET temel veri türü beklendiğinde dilinizin ilgili anahtar sözcüğünü kullanabilirsiniz.
Aşağıdaki tabloda.NET'in sağladığı temel türler listelenir, her türü kısaca açıklar ve Visual Basic, C#, C++ ve F# içinde karşılık gelen türü gösterir.
Kategori | Sınıf adı | Açıklama | Visual Basic veri türü | C# veri türü | C++/CLI veri türü | F# veri türü |
---|---|---|---|---|---|---|
Tamsayı | Byte | 8 bit işaretsiz tamsayı. | Byte |
byte |
unsigned char |
byte |
SByte | 8 bit imzalı tamsayı. CLS uyumlu değil. |
SByte |
sbyte |
char veya signed char |
sbyte |
|
Int16 | 16 bit imzalı tamsayı. | Short |
short |
short |
int16 |
|
Int32 | 32 bit imzalı tamsayı. | Integer |
int |
int veya long |
int |
|
Int64 | 64 bit işaretli bir tamsayı. | Long |
long |
__int64 |
int64 |
|
UInt16 | 16 bit işaretsiz tamsayı. CLS uyumlu değil. |
UShort |
ushort |
unsigned short |
uint16 |
|
UInt32 | 32 bit işaretsiz tamsayı. CLS uyumlu değil. |
UInteger |
uint |
unsigned int veya unsigned long |
uint32 |
|
UInt64 | 64 bit işaretsiz tamsayı. CLS uyumlu değil. |
ULong |
ulong |
unsigned __int64 |
uint64 |
|
Kayan nokta | Half | Yarım duyarlıklı (16 bit) kayan noktalı sayı. | ||||
Single | Tek duyarlıklı (32 bit) kayan noktalı sayı. | Single |
float |
float |
float32 veya single |
|
Double | Çift duyarlıklı (64 bit) kayan noktalı sayı. | Double |
double |
double |
float veya double |
|
Mantıksal | Boolean | Boole değeri (true veya false). | Boolean |
bool |
bool |
bool |
Diğer | Char | Unicode (16 bit) karakteri. | Char |
char |
wchar_t |
char |
Decimal | Ondalık (128-bit) bir değer. | Decimal |
decimal |
Decimal |
decimal |
|
IntPtr | Boyutu temel platforma bağlı olan imzalı bir tamsayı (32 bit platformda 32 bit değer ve 64 bit platformda 64 bit değer). | nint |
unativeint |
|||
UIntPtr | Boyutu temel platforma bağlı olan imzasız bir tamsayı (32 bit platformda 32 bit değer ve 64 bit platformda 64 bit değer). CLS uyumlu değil. |
nuint |
unativeint |
|||
Object | Nesne hiyerarşisinin kökü. | Object |
object |
Object^ |
obj |
|
String | Sabit, sabit uzunlukta unicode karakter dizesi. | String |
string |
String^ |
string |
Temel veri türlerine ek olarak, System ad alanı özel durumları işleyen sınıflardan uygulama etki alanları ve çöp toplayıcı gibi temel çalışma zamanı kavramlarıyla ilgilenen sınıflara kadar 100'den fazla sınıf içerir. Ad System alanı ayrıca birçok ikinci düzey ad alanı içerir.
Ad alanları hakkında daha fazla bilgi için .NET API Tarayıcısı'nı kullanarak .NET Sınıf Kitaplığı'na göz atın. API başvuru belgeleri her ad alanı, türleri ve üyelerinin her biri hakkında belgeler sağlar.
Veri yapıları
.NET, birçok .NET uygulamasının iş atı olan bir dizi veri yapısı içerir. Bunlar çoğunlukla koleksiyonlardır, ancak diğer türleri de içerir.
- Array - Dizin tarafından erişilebilen kesin olarak belirlenmiş nesneler dizisini temsil eder. Yapısına göre sabit bir boyuta sahiptir.
- List<T> - Dizin tarafından erişilebilen nesnelerin kesin olarak belirlenmiş bir listesini temsil eder. Gerektiğinde otomatik olarak yeniden boyutlandırılır.
- Dictionary<TKey,TValue> - Bir anahtar tarafından dizine alınan bir değer koleksiyonunu temsil eder. Değerlere anahtar aracılığıyla erişilebilir. Gerektiğinde otomatik olarak yeniden boyutlandırılır.
- Uri - Tekdüzen kaynak tanımlayıcısının (URI) nesne gösterimini ve URI'nin bölümlerine kolay erişim sağlar.
- DateTime - Genellikle günün tarihi ve saati olarak ifade edilen bir anlık zamanı temsil eder.
Yardımcı Program API'leri
.NET, birçok önemli görev için işlevsellik sağlayan bir dizi yardımcı program API'sini içerir.
- HttpClient - URI tarafından tanımlanan bir kaynaktan HTTP istekleri göndermeye ve HTTP yanıtları almaya yönelik bir API.
- XDocument - LINQ ile XML belgelerini yüklemek ve sorgulamak için bir API.
- StreamReader - Dosyaları okumak için bir API.
- StreamWriter - Dosya yazmak için bir API.
Uygulama modeli API'leri
.NET ile kullanılabilecek birçok uygulama modeli vardır, örneğin:
- ASP.NET - Web siteleri ve hizmetler oluşturmaya yönelik bir web çerçevesi. Windows, Linux ve macOS'ta desteklenir (ASP.NET sürümüne bağlıdır).
- .NET MAUI - C# kullanarak Windows, macOS, iOS ve Android üzerinde çalışan yerel uygulamalar oluşturmaya yönelik bir uygulama platformu.
- Windows Masaüstü - Windows Presentation Foundation (WPF) ve Windows Forms içerir.