Omówienie biblioteki klas platformy .NET
Interfejsy API platformy .NET obejmują klasy, interfejsy, delegaty i typy wartości, które przyspieszają i optymalizują proces programowania oraz zapewniają dostęp do funkcji systemu. Aby ułatwić współdziałanie między językami, większość typów platformy .NET jest zgodna ze specyfikacją CLS i dlatego może być używana z dowolnego języka programowania, którego kompilator jest zgodny ze specyfikacją języka wspólnego (CLS).
Typy platformy .NET są podstawą, na której są tworzone aplikacje, składniki i kontrolki platformy .NET. Platforma .NET zawiera typy, które wykonują następujące funkcje:
- Reprezentują podstawowe typy danych i wyjątki.
- Hermetyzowanie struktur danych.
- Wykonaj operacje we/wy.
- Uzyskaj dostęp do informacji o załadowanych typach.
- Wywoływanie kontroli zabezpieczeń platformy .NET.
- Zapewnianie dostępu do danych, rozbudowanego graficznego interfejsu użytkownika po stronie klienta oraz graficznego interfejsu użytkownika po stronie serwera.
Platforma .NET udostępnia bogaty zestaw interfejsów, a także klasy abstrakcyjne i betonowe (nie abstrakcyjne). Możesz użyć klas betonowych, jak to jest lub, w wielu przypadkach, pochodnych własnych klas od nich. Aby użyć funkcji interfejsu, można utworzyć klasę, która implementuje interfejs, lub uzyskać klasę z jednej z klas platformy .NET implementujących interfejs.
Konwencje nazewnictwa
Typy platformy .NET używają schematu nazewnictwa składni kropkowej, który oznacza hierarchię. Ta technika grupuje typy powiązane z przestrzeniami nazw, aby można było je wyszukiwać i odwoływać się do nich łatwiej. Pierwsza część pełnej nazwy — aż do prawej kropki — to nazwa przestrzeni nazw. Ostatnią częścią nazwy jest nazwa typu. Na przykład System.Collections.Generic.List<T>
reprezentuje List<T>
typ, który należy do System.Collections.Generic
przestrzeni nazw. Typy w System.Collections.Generic programie mogą służyć do pracy z kolekcjami ogólnymi.
Ten schemat nazewnictwa ułatwia deweloperom bibliotek rozszerzenie platformy .NET w celu tworzenia hierarchicznych grup typów i nazywania ich w spójny, informacyjny sposób. Umożliwia również jednoznaczne zidentyfikowanie typów przez ich pełną nazwę (czyli przez ich przestrzeń nazw i nazwę typu), co zapobiega kolizjom nazw typów. Deweloperzy bibliotek powinni używać następującej konwencji podczas tworzenia nazw dla swoich przestrzeni nazw:
Nazwa firmy.TechnologyName
Na przykład przestrzeń nazw Microsoft.Word
jest zgodna z tą wytycznymi.
Użycie wzorców nazewnictwa do grupowania powiązanych typów w przestrzenie nazw jest przydatnym sposobem kompilowania i bibliotek klas dokumentów. Jednak ten schemat nazewnictwa nie ma wpływu na widoczność, dostęp do składowych, dziedziczenie, zabezpieczenia lub powiązanie. Przestrzeń nazw można podzielić na partycje w wielu zestawach, a pojedynczy zestaw może zawierać typy z wielu przestrzeni nazw. Zestaw zapewnia formalną strukturę przechowywania wersji, wdrażania, zabezpieczeń, ładowania i widoczności w środowisku uruchomieniowym języka wspólnego.
Aby uzyskać więcej informacji na temat przestrzeni nazw i nazw typów, zobacz Common Type System(System typów).
Przestrzeń nazw systemu
System Przestrzeń nazw jest główną przestrzenią nazw dla podstawowych typów na platformie .NET. Ta przestrzeń nazw obejmuje klasy reprezentujące podstawowe typy danych używane przez wszystkie aplikacje, Object na przykład (katalog główny hierarchii dziedziczenia), Byte, , CharArray, Int32i String. Wiele z tych typów odpowiada typom danych pierwotnych używanych przez język programowania. Podczas pisania kodu przy użyciu typów platformy .NET można użyć odpowiedniego słowa kluczowego języka, gdy oczekiwano podstawowego typu danych platformy .NET.
W poniższej tabeli wymieniono typy podstawowe, które platforma .NET dostarcza, krótko opisuje każdy typ i wskazuje odpowiedni typ w języku Visual Basic, C#, C++i F#.
Kategoria | Nazwa klasy | opis | Typ danych języka Visual Basic | Typ danych języka C# | Typ danych C++/CLI | Typ danych F# |
---|---|---|---|---|---|---|
Integer | Byte | 8-bitowa liczba całkowita bez znaku. | Byte |
byte |
unsigned char |
byte |
SByte | 8-bitowa liczba całkowita ze znakiem. Niezgodne ze specyfikacją CLS. |
SByte |
sbyte |
char lub signed char |
sbyte |
|
Int16 | 16-bitowa liczba całkowita ze znakiem. | Short |
short |
short |
int16 |
|
Int32 | 32-bitowa liczba całkowita ze znakiem. | Integer |
int |
int lub long |
int |
|
Int64 | 64-bitowa liczba całkowita ze znakiem. | Long |
long |
__int64 |
int64 |
|
UInt16 | 16-bitowa liczba całkowita bez znaku. Niezgodne ze specyfikacją CLS. |
UShort |
ushort |
unsigned short |
uint16 |
|
UInt32 | 32-bitowa liczba całkowita bez znaku. Niezgodne ze specyfikacją CLS. |
UInteger |
uint |
unsigned int lub unsigned long |
uint32 |
|
UInt64 | 64-bitowa liczba całkowita bez znaku. Niezgodne ze specyfikacją CLS. |
ULong |
ulong |
unsigned __int64 |
uint64 |
|
Liczba zmiennoprzecinkowa | Half | Liczba zmiennoprzecinkowa o pół precyzji (16-bitowa). | ||||
Single | Liczba zmiennoprzecinkowa o pojedynczej precyzji (32-bitowej). | Single |
float |
float |
float32 lub single |
|
Double | Liczba zmiennoprzecinkowa o podwójnej precyzji (64-bitowej). | Double |
double |
double |
float lub double |
|
Wartość logiczna | Boolean | Wartość logiczna (prawda lub fałsz). | Boolean |
bool |
bool |
bool |
Inne | Char | Znak Unicode (16-bitowy). | Char |
char |
wchar_t |
char |
Decimal | Wartość dziesiętna (128-bitowa). | Decimal |
decimal |
Decimal |
decimal |
|
IntPtr | Podpisana liczba całkowita, której rozmiar zależy od podstawowej platformy (wartość 32-bitowa na platformie 32-bitowej i 64-bitowej wartości na platformie 64-bitowej). | nint |
unativeint |
|||
UIntPtr | Niepodpisane liczby całkowite, których rozmiar zależy od podstawowej platformy (32-bitowej wartości na platformie 32-bitowej i 64-bitowej wartości na platformie 64-bitowej). Niezgodne ze specyfikacją CLS. |
nuint |
unativeint |
|||
Object | Katalog główny hierarchii obiektów. | Object |
object |
Object^ |
obj |
|
String | Niezmienny ciąg znaków Unicode o stałej długości. | String |
string |
String^ |
string |
Oprócz podstawowych typów System danych przestrzeń nazw zawiera ponad 100 klas, począwszy od klas obsługujących wyjątki do klas, które zajmują się podstawowymi pojęciami środowiska uruchomieniowego, takimi jak domeny aplikacji i moduł odśmiecania pamięci. System Przestrzeń nazw zawiera również wiele przestrzeni nazw drugiego poziomu.
Aby uzyskać więcej informacji na temat przestrzeni nazw, użyj przeglądarki interfejsu API platformy .NET do przeglądania biblioteki klas platformy .NET. Dokumentacja referencyjna interfejsu API zawiera dokumentację każdej przestrzeni nazw, jej typów i poszczególnych elementów członkowskich.
Struktury danych
Platforma .NET zawiera zestaw struktur danych, które są koniami roboczymi wielu aplikacji platformy .NET. Są to głównie kolekcje, ale także inne typy.
- Array — Reprezentuje tablicę silnie typiowanych obiektów, do których można uzyskać dostęp za pomocą indeksu. Ma stały rozmiar na jego konstrukcję.
- List<T> — Reprezentuje silnie typizowaną listę obiektów, do których można uzyskać dostęp za pomocą indeksu. Jest automatycznie zmieniany zgodnie z potrzebami.
- Dictionary<TKey,TValue> - Reprezentuje kolekcję wartości, które są indeksowane przez klucz. Dostęp do wartości można uzyskać za pośrednictwem klucza. Jest automatycznie zmieniany zgodnie z potrzebami.
- Uri — Zapewnia reprezentację obiektu jednolitego identyfikatora zasobu (URI) i łatwy dostęp do części identyfikatora URI.
- DateTime - Reprezentuje moment w czasie, zwykle wyrażony jako data i godzina dnia.
Interfejsy API narzędzi
Platforma .NET zawiera zestaw interfejsów API narzędzi, które zapewniają funkcje dla wielu ważnych zadań.
- HttpClient — Interfejs API do wysyłania żądań HTTP i odbierania odpowiedzi HTTP z zasobu zidentyfikowanego przez identyfikator URI.
- XDocument — interfejs API do ładowania i wykonywania zapytań dotyczących dokumentów XML za pomocą linQ.
- StreamReader — interfejs API do odczytywania plików.
- StreamWriter — Interfejs API do zapisywania plików.
Interfejsy API modelu aplikacji
Istnieje wiele modeli aplikacji, które mogą być używane z platformą .NET, na przykład:
- ASP.NET — struktura internetowa do tworzenia witryn i usług sieci Web. Obsługiwane w systemach Windows, Linux i macOS (zależy od wersji ASP.NET).
- .NET MAUI — platforma aplikacji do tworzenia aplikacji natywnych uruchamianych w systemach Windows, macOS, iOS i Android przy użyciu języka C#.
- Windows Desktop — obejmuje program Windows Presentation Foundation (WPF) i formularze systemu Windows.