Übersicht über die .NET-Klassenbibliothek.NET class library overview

.NET-Implementierungen enthalten Klassen, Schnittstellen und Werttypen, die den Entwicklungsprozess beschleunigen und optimieren und den Zugriff auf Systemfunktionen ermöglichen..NET implementations include classes, interfaces, delegates, and value types that expedite and optimize the development process and provide access to system functionality. .NET Framework gewährleistet durch überwiegend CLS-kompatible Typen Interoperabilität zwischen verschiedenen Sprachen und kann daher in jeder Programmiersprache verwendet werden, deren Compiler der CLS (Common Language Specification) entspricht.To facilitate interoperability between languages, most .NET types are CLS-compliant and can therefore be used from any programming language whose compiler conforms to the common language specification (CLS).

Die .NET-Typen bilden die Grundlage für den Entwurf von Anwendungen, Komponenten und Steuerelementen in .NET..NET types are the foundation on which .NET applications, components, and controls are built. .NET-Implementierungen umfassen Typen zur Ausführung folgender Funktionen:.NET implementations include types that perform the following functions:

  • Darstellung von Basisdatentypen und -ausnahmenRepresent base data types and exceptions.

  • Kapseln von DatenstrukturenEncapsulate data structures.

  • E/A-OperationenPerform I/O.

  • Zugriff auf Informationen über geladene TypenAccess information about loaded types.

  • Aufrufen von .NET Framework-SicherheitsüberprüfungenInvoke .NET Framework security checks.

  • Datenzugriff und Bereitstellen einer eigenständigen Client-GUI sowie einer servergesteuerten Client-GUIProvide data access, rich client-side GUI, and server-controlled, client-side GUI.

In .NET stehen neben zahlreichen Schnittstellen abstrakte und konkrete (nicht abstrakte) Klassen zur Verfügung..NET provides a rich set of interfaces, as well as abstract and concrete (non-abstract) classes. Sie können die konkreten Klassen unverändert verwenden oder eigene Klassen von ihnen ableiten.You can use the concrete classes as is or, in many cases, derive your own classes from them. Sie können entweder eine Klasse erstellen, die die Schnittstelle implementiert, oder eine Klasse von einer der .NET-Klassen ableiten, die die Schnittstelle implementiert, um die Funktionen einer Schnittstelle zu verwenden.To use the functionality of an interface, you can either create a class that implements the interface or derive a class from one of the .NET classes that implements the interface.

Namenskonventionen Naming conventions

Für .NET-Typen wird ein Benennungsschema mit Punktsyntax verwendet, das der hierarchischen Struktur entspricht..NET types use a dot syntax naming scheme that connotes a hierarchy. Bei diesem Verfahren werden verwandte Typen in Namespaces zusammengefasst, wodurch Suchvorgänge und Verweise vereinfacht werden.This technique groups related types into namespaces so they can be searched and referenced more easily. Der erste Teil des vollständigen Namens, bis zum letzten Punkt, gibt den Namen des Namespaces wieder.The first part of the full name — up to the rightmost dot — is the namespace name. Der letzte Teil ist der Name des Typs.The last part of the name is the type name. System.Collections.Generic.List<T> stellt beispielsweise den Typ List<T> dar, der zum Namespace System.Collections.Generic gehört.For example, System.Collections.Generic.List<T> represents the List<T> type, which belongs to the System.Collections.Generic namespace. Die Typen in System.Collections.Generic können mit generischen Sammlungen verwendet werden.The types in System.Collections.Generic can be used to work with generic collections.

Dieses Benennungsschema erleichtert es Entwicklern von Bibliotheken, die Erweiterungen für .NET Framework.NET Framework entwerfen, hierarchische Typengruppen zu erstellen und diese konsistent und aussagekräftig zu benennen.This naming scheme makes it easy for library developers extending the .NET Framework.NET Framework to create hierarchical groups of types and name them in a consistent, informative manner. Außerdem können Typen nach ihrem vollständigen Namen (d. h. ihrem Namespace und Typnamen) eindeutig identifiziert werden, wodurch Konflikte bei Typnamen vermieden werden.It also allows types to be unambiguously identified by their full name (that is, by their namespace and type name), which prevents type name collisions. Von Entwicklern von Bibliotheken wird erwartet, dass sie sich beim Erstellen der Namen für eigene Namespaces an die nachstehende Konvention halten:Library developers are expected to use the following convention when creating names for their namespaces:

CompanyName.TechnologyNameCompanyName.TechnologyName

Der Namespace Microsoft.Word entspricht beispielsweise dieser Richtlinie.For example, the namespace Microsoft.Word conforms to this guideline.

Insbesondere für das Erstellen und Dokumentieren von Klassenbibliotheken empfiehlt sich ein Benennungsschema, bei dem verwandte Typen in Namespaces zusammengefasst werden.The use of naming patterns to group related types into namespaces is a very useful way to build and document class libraries. Dieses wirkt sich jedoch nicht auf Sichtbarkeit, Memberzugriff, Vererbung, Sicherheit oder Bindung aus.However, this naming scheme has no effect on visibility, member access, inheritance, security, or binding. Ein Namespace kann von mehreren Assemblys verwendet werden, und eine einzelne Assembly kann Typen aus mehreren Namespaces enthalten.A namespace can be partitioned across multiple assemblies and a single assembly can contain types from multiple namespaces. Die Assembly stellt die formale Struktur für Versionsinformationen, Bereitstellung, Sicherheit, Ladevorgänge und Sichtbarkeit in der Common Language Runtime bereit.The assembly provides the formal structure for versioning, deployment, security, loading, and visibility in the common language runtime.

Weitere Informationen über Namespaces und Typennamen finden Sie unter Allgemeines Typsystem.For more information on namespaces and type names, see Common Type System.

System-NamespaceSystem namespace

Beim System-Namespace handelt es sich um den Stammnamespace für Basistypen in .NET.The System namespace is the root namespace for fundamental types in .NET. Dieser Namespace beinhaltet Klassen, die die von allen Anwendungen verwendeten Basisdatentypen darstellen: Object (der Stamm der Vererbungshierarchie), Byte, Char, Array, Int32, String usw.This namespace includes classes that represent the base data types used by all applications: Object (the root of the inheritance hierarchy), Byte, Char, Array, Int32, String, and so on. Viele dieser Typen entsprechen den primitiven Datentypen, die in den verschiedenen Programmiersprachen verwendet werden.Many of these types correspond to the primitive data types that your programming language uses. Wenn Sie Code mithilfe von .NET Framework-Typen schreiben, können Sie anstelle eines erwarteten Basisdatentyps von .NET Framework auch das entsprechende Schlüsselwort der verwendeten Sprache angeben.When you write code using .NET Framework types, you can use your language's corresponding keyword when a .NET Framework base data type is expected.

In der folgenden Tabelle sind die in .NET verfügbaren Basistypen mit einer Kurzbeschreibung der einzelnen Typen und den entsprechenden Typen in Visual Basic, C#, C++ und F# aufgeführt.The following table lists the base types that .NET supplies, briefly describes each type, and indicates the corresponding type in Visual Basic, C#, C++, and F#.

KategorieCategory KlassennameClass name descriptionDescription Datentyp in Visual BasicVisual Basic data type Datentyp in C#C# data type C++/CLI-DatentypC++/CLI data type F#-DatentypF# data type
Ganze ZahlInteger Byte Eine 8-Bit-Ganzzahl ohne Vorzeichen.An 8-bit unsigned integer. ByteByte bytebyte unsigned charunsigned char bytebyte
SByte Eine 8-Bit-Ganzzahl mit Vorzeichen.An 8-bit signed integer.

Nicht CLS-kompatibel.Not CLS-compliant.
SByteSByte sbytesbyte charchar
- oder - -or-
char mit Vorzeichensigned char
sbytesbyte
Int16 Eine 16-Bit-Ganzzahl mit Vorzeichen.A 16-bit signed integer. ShortShort shortshort shortshort int16int16
Int32 Eine 32-Bit-Ganzzahl mit Vorzeichen.A 32-bit signed integer. IntegerInteger intint intint

- oder - -or-

longlong
intint
Int64 Eine 64-Bit-Ganzzahl mit Vorzeichen.A 64-bit signed integer. LongLong longlong __int64__int64 int64int64
UInt16 Eine 16-Bit-Ganzzahl ohne Vorzeichen.A 16-bit unsigned integer.

Nicht CLS-kompatibel.Not CLS-compliant.
UShortUShort ushortushort unsigned shortunsigned short uint16uint16
UInt32 Eine 32-Bit-Ganzzahl ohne Vorzeichen.A 32-bit unsigned integer.

Nicht CLS-kompatibel.Not CLS-compliant.
UIntegerUInteger uintuint unsigned intunsigned int
- oder - -or-
unsigned longunsigned long
uint32uint32
UInt64 Eine 64-Bit-Ganzzahl ohne Vorzeichen.A 64-bit unsigned integer.

Nicht CLS-kompatibel.Not CLS-compliant.
ULongULong ulongulong __int64 ohne Vorzeichenunsigned __int64 uint64uint64
GleitkommaFloating point Single Eine Gleitkommazahl einfacher Genauigkeit (32 Bit).A single-precision (32-bit) floating-point number. SingleSingle floatfloat floatfloat float32float32
oderor
singlesingle
Double Eine Gleitkommazahl doppelter Genauigkeit (64 Bit).A double-precision (64-bit) floating-point number. DoubleDouble doubledouble doubledouble floatfloat
oderor
doubledouble
LogischLogical Boolean Ein boolescher Wert (true oder false).A Boolean value (true or false). BooleanBoolean boolbool boolbool boolbool
AndereOther Char Ein Unicode-Zeichen (16 Bit).A Unicode (16-bit) character. CharChar charchar wchar_twchar_t charchar
Decimal Dezimalwert (128 Bit).A decimal (128-bit) value. DecimalDecimal decimaldecimal DecimalDecimal decimaldecimal
IntPtr Eine ganze Zahl mit Vorzeichen, deren Größe von der zugrunde liegenden Plattform abhängt (32-Bit-Wert auf einer 32-Bit-Plattform und 64-Bit-Wert auf einer 64-Bit-Plattform).A signed integer whose size depends on the underlying platform (a 32-bit value on a 32-bit platform and a 64-bit value on a 64-bit platform). IntPtrIntPtr

Kein integrierter Typ.No built-in type.
IntPtrIntPtr

Kein integrierter Typ.No built-in type.
IntPtrIntPtr

Kein integrierter Typ.No built-in type.
unativeintunativeint
UIntPtr Eine ganze Zahl, deren Größe von der zugrunde liegenden Plattform abhängt (32-Bit-Wert auf einer 32-Bit-Plattform und 64-Bit-Wert auf einer 64-Bit-Plattform).An unsigned integer whose size depends on the underlying platform (a 32- bit value on a 32-bit platform and a 64-bit value on a 64-bit platform).

Nicht CLS-kompatibel.Not CLS-compliant.
UIntPtrUIntPtr

Kein integrierter Typ.No built-in type.
UIntPtrUIntPtr

Kein integrierter Typ.No built-in type.
UIntPtrUIntPtr

Kein integrierter Typ.No built-in type.
unativeintunativeint
Object Der Stamm der Objekthierarchie.The root of the object hierarchy. ObjektObject objectobject Object^Object^ objobj
String Eine unveränderliche Zeichenfolge fester Länge mit Unicode-Zeichen.An immutable, fixed-length string of Unicode characters. StringString stringstring String^String^ stringstring

Neben den Basisdatentypen umfasst der System-Namespace mehr als 100 Klassen, die von Klassen für die Behandlung von Ausnahmen bis zu Klassen reichen, die für wesentliche Konzepte der Laufzeit vorgesehen sind, beispielsweise Anwendungsdomänen oder der Garbage Collector.In addition to the base data types, the System namespace contains over 100 classes, ranging from classes that handle exceptions to classes that deal with core runtime concepts, such as application domains and the garbage collector. Der System-Namespace beinhaltet darüber hinaus zahlreiche Namespaces zweiter Ebene.The System namespace also contains many second-level namespaces.

Verwenden Sie für weitere Informationen zu Namespaces den .NET-API-Browser, um die .NET Framework-Klassenbibliothek zu durchsuchen.For more information about namespaces, use the .NET API Browser to browse the .NET Class Library. Die API-Referenzdokumentation bietet Dokumentationen zu jedem Namespace, den dazu gehörigen Typen und Membern.The API reference documentation provides documentation on each namespace, its types, and each of their members.

Siehe auchSee Also

Allgemeines TypsystemCommon Type System
.NET API-Browser.NET API Browser
ÜbersichtOverview