Freigeben über


Übersicht über die .NET-Klassenbibliothek

.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.

Siehe auch