Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
.NET-APIs umfassen Klassen, Schnittstellen, Stellvertretungen und Werttypen, die den Entwicklungsprozess beschleunigen und optimieren und den Zugriff auf Systemfunktionen ermöglichen. Um die Interoperabilität zwischen Sprachen zu erleichtern, sind die meisten .NET-Typen CLS-kompatibel und können daher von jeder Programmiersprache verwendet werden, deren Compiler der Allgemeinen Sprachspezifikation (CLS) entspricht.
.NET-Typen sind die Grundlage, auf der .NET-Anwendungen, -Komponenten und -Steuerelemente erstellt werden. .NET enthält Typen, die die folgenden Funktionen ausführen:
- Stellt Basisdatentypen und Ausnahmen dar.
- Kapseln Sie Datenstrukturen.
- I/O ausführen
- Zugriff auf Informationen über geladene Typen
- Rufen Sie .NET-Sicherheitsüberprüfungen auf.
- Bereitstellen des Datenzugriffs, einer umfassenden clientseitigen GUI und einer vom Server gesteuerten, clientseitigen GUI.
.NET bietet eine vielzahl von Schnittstellen sowie abstrakte und konkrete (nicht abstrakte) Klassen. Sie können die konkreten Klassen as-is verwenden oder in vielen Fällen Ihre eigenen Klassen daraus ableiten. Um die Funktionalität einer Schnittstelle zu verwenden, können Sie entweder eine Klasse erstellen, die die Schnittstelle implementiert, oder eine Klasse von einer der .NET-Klassen ableiten, die die Schnittstelle implementiert.
Benennungskonventionen
.NET-Typen verwenden ein Benennungsschema für Punktsyntax, das eine Hierarchie angibt. Diese Technik gruppiert verwandte Typen in Namespaces, sodass sie einfacher durchsucht und referenziert werden können. Der erste Teil des vollständigen Namens, bis zum letzten Punkt, gibt den Namen des Namespace an. Der letzte Teil des Namens ist die Typbezeichnung.
System.Collections.Generic.List<T>
repräsentiert beispielsweise den List<T>
Typ, der zum System.Collections.Generic
Namespace gehört. Typen in System.Collections.Generic können verwendet werden, um mit generischen Auflistungen zu arbeiten.
Dieses Benennungsschema erleichtert es Bibliotheksentwicklern, die .NET erweitern, hierarchische Gruppen von Typen zu erstellen und diese auf konsistente und informative Weise zu benennen. Außerdem können Typen eindeutig durch ihren vollständigen Namen (d. h. durch den Namespace und den Typnamen) identifiziert werden, wodurch Typennamenkonflikte verhindert werden. Bibliotheksentwickler sollen beim Erstellen von Namen für ihre Namespaces die folgende Konvention anwenden:
CompanyName. TechnologyName
Der Namespace Microsoft.Word
entspricht z. B. dieser Richtlinie.
Die Verwendung von Benennungsmustern zum Gruppieren verwandter Typen in Namespaces ist eine nützliche Methode zum Erstellen und Dokumentieren von Klassenbibliotheken. Dieses Benennungsschema hat jedoch keine Auswirkungen auf Sichtbarkeit, Memberzugriff, Vererbung, Sicherheit oder Bindung. Ein Namespace kann über mehrere Assemblys partitioniert werden, und eine einzelne Assembly kann Typen aus mehreren Namespaces enthalten. Die Assembly stellt die formale Struktur für Versionsverwaltung, Bereitstellung, Sicherheit, Laden und Sichtbarkeit in der Common Language Runtime bereit.
Weitere Informationen zu Namespaces und Typnamen finden Sie unter Common Type System.
System-Namespace
Der System Namespace ist der Stammnamespace für grundlegende Typen in .NET. Dieser Namespace enthält Klassen, die die Basisdatentypen darstellen, die von allen Anwendungen verwendet werden, Object z. B. (der Stamm der Vererbungshierarchie), Byte, , Char, Array, Int32und String. Viele dieser Typen entsprechen den primitiven Datentypen, die ihre Programmiersprache verwendet. Wenn Sie Code mit .NET-Typen schreiben, können Sie das entsprechende Schlüsselwort Ihrer Sprache verwenden, wenn ein .NET-Basisdatentyp erwartet wird.
In der folgenden Tabelle sind die Basistypen aufgeführt, die .NET bereitstellt, die einzelnen Typen kurz beschreiben und den entsprechenden Typ in Visual Basic, C#, C++ und F# angeben.
Kategorie | Klassenname | BESCHREIBUNG | Visual Basic-Datentyp | C#-Datentyp | C++/CLI-Datentyp | F#-Datentyp |
---|---|---|---|---|---|---|
Ganze Zahl | Byte | Eine 8-Bit-ganzzahl ohne Vorzeichen. | Byte |
byte |
unsigned char |
byte |
SByte | Eine 8-Bit-Ganzzahl mit Vorzeichen. Nicht CLS-kompatibel. |
SByte |
sbyte |
char oder signed char |
sbyte |
|
Int16 | Eine 16-Bit-Ganzzahl mit Vorzeichen. | Short |
short |
short |
int16 |
|
Int32 | Eine 32-Bit-Ganzzahl mit Vorzeichen. | Integer |
int |
int oder long |
int |
|
Int64 | Eine 64-Bit-Ganzzahl mit Vorzeichen. | Long |
long |
__int64 |
int64 |
|
UInt16 | Eine 16-Bit-ganzzahl ohne Vorzeichen. Nicht CLS-kompatibel. |
UShort |
ushort |
unsigned short |
uint16 |
|
UInt32 | Eine 32-Bit-ganzzahl ohne Vorzeichen. Nicht CLS-kompatibel. |
UInteger |
uint |
unsigned int oder unsigned long |
uint32 |
|
UInt64 | Eine 64-Bit-ganzzahl ohne Vorzeichen. Nicht CLS-kompatibel. |
ULong |
ulong |
unsigned __int64 |
uint64 |
|
Gleitkomma | Half | Eine Gleitkommazahl halber Genauigkeit (16 Bit). | ||||
Single | Eine Gleitkommazahl einfacher Genauigkeit (32 Bit). | Single |
float |
float |
float32 oder single |
|
Double | Eine Gleitkommazahl mit doppelter Genauigkeit (64-Bit). | Double |
double |
double |
float oder double |
|
Logisch | Boolean | Ein boolescher Wert (wahr oder falsch). | Boolean |
bool |
bool |
bool |
Andere | Char | Ein Unicode-Zeichen (16-Bit). | Char |
char |
wchar_t |
char |
Decimal | Ein Dezimalwert (128-Bit). | Decimal |
decimal |
Decimal |
decimal |
|
IntPtr | Eine signierte ganze Zahl, deren Größe von der zugrunde liegenden Plattform abhängt (ein 32-Bit-Wert auf einer 32-Bit-Plattform und ein 64-Bit-Wert auf einer 64-Bit-Plattform). | nint |
unativeint |
|||
UIntPtr | Eine ganze Zahl ohne Vorzeichen, deren Größe von der zugrunde liegenden Plattform abhängt (ein 32-Bit-Wert auf einer 32-Bit-Plattform und ein 64-Bit-Wert auf einer 64-Bit-Plattform). Nicht CLS-kompatibel. |
nuint |
unativeint |
|||
Object | Der Stamm der Objekthierarchie. | Object |
object |
Object^ |
obj |
|
String | Eine unveränderliche Zeichenfolge mit fester Länge von Unicode-Zeichen. | String |
string |
String^ |
string |
Zusätzlich zu den Basisdatentypen enthält der System Namespace über 100 Klassen, von Klassen, die Ausnahmen verarbeiten, bis hin zu Klassen, die sich mit wesentlichen Laufzeitkonzepten befassen, wie z. B. Anwendungsdomänen und Speicherbereinigung. Der System Namespace enthält auch viele Namespaces der zweiten Ebene.
Weitere Informationen zu Namespaces finden Sie im .NET-API-Browser zum Durchsuchen der .NET-Klassenbibliothek. Die API-Referenzdokumentation enthält eine Dokumentierung zu jedem Namespace, seinen Typen sowie allen ihren Mitgliedern.
Datenstrukturen
.NET enthält eine Reihe von Datenstrukturen, die die Arbeitspferde vieler .NET-Apps sind. Dies sind hauptsächlich Sammlungen, aber auch andere Typen.
- Array - Stellt ein Array stark typierter Objekte dar, auf das über den Index zugegriffen werden kann. Hat aufgrund seiner Bauweise eine feste Größe.
- List<T> - Stellt eine stark typisierte Liste von Objekten dar, auf die über ihren Index zugegriffen werden kann. Die Größe wird nach Bedarf automatisch angepasst.
- Dictionary<TKey,TValue> - Stellt eine Auflistung von Werten dar, die von einem Schlüssel indiziert werden. Auf Werte kann über den Schlüssel zugegriffen werden. Die Größe wird nach Bedarf automatisch angepasst.
- Uri – Stellt eine Objektdarstellung eines URI (Uniform Resource Identifier) und einfachen Zugriff auf die Teile des URI bereit.
- DateTime - Stellt eine Sofortzeit dar, die in der Regel als Datum und Uhrzeit des Tages ausgedrückt wird.
Hilfs-APIs
.NET enthält eine Reihe von Hilfs-APIs, die Funktionen für viele wichtige Aufgaben bereitstellen.
- HttpClient – Eine API zum Senden von HTTP-Anforderungen und Empfangen von HTTP-Antworten von einer Ressource, die durch einen URI identifiziert wird.
- XDocument – Eine API zum Laden und Abfragen von XML-Dokumenten mit LINQ.
- StreamReader – Eine API zum Lesen von Dateien.
- StreamWriter – Eine API zum Schreiben von Dateien.
App-Modell-APIs
Es gibt viele App-Modelle, die mit .NET verwendet werden können, z. B.:
- ASP.NET – Ein Webframework zum Erstellen von Websites und Diensten. Unterstützt unter Windows, Linux und macOS (hängt von ASP.NET Version ab).
- .NET MAUI – Eine App-Plattform zum Erstellen nativer Apps, die unter Windows, macOS, iOS und Android mit C# ausgeführt werden.
- Windows Desktop – umfasst Windows Presentation Foundation (WPF) und Windows Forms.