Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
Array-Klasse
Stellt Methoden zum Erstellen, Bearbeiten, Durchsuchen und Sortieren von Arrays bereit und ist damit Basisklasse für alle Arrays in der Common Language Runtime.
Assembly: mscorlib (in mscorlib.dll)
Der Array-Typ macht die folgenden Member verfügbar.
| Name | Beschreibung | |
|---|---|---|
|
IsFixedSize | Ruft einen Wert ab, der angibt, ob die Array eine feste Größe aufweist. |
|
IsReadOnly | Ruft einen Wert ab, der angibt, ob Array schreibgeschützt ist. |
|
IsSynchronized | Ruft einen Wert ab, der angibt, ob der Zugriff auf Array synchronisiert (threadsicher) ist. |
|
Length | Ruft eine 32-Bit-Ganzzahl ab, die die Gesamtanzahl der Elemente in allen Dimensionen des Array angibt. |
|
LongLength | Ruft eine 64-Bit-Ganzzahl ab, die die Gesamtanzahl der Elemente in allen Dimensionen des Array angibt. |
|
Rank | Ruft der Rang (Anzahl der Dimensionen) des Array ab. |
|
SyncRoot | Ruft ein Objekt ab, mit dem der Zugriff auf Array synchronisiert werden kann. |
| Name | Beschreibung | |
|---|---|---|
|
AsReadOnly<T> | Gibt einen schreibgeschützten Wrapper für das angegebene Array zurück. |
|
BinarySearch(Array, Object) | Durchsucht ein ganzes sortiertes eindimensionales Array nach einem bestimmten Element. Dazu wird die von jedem Element des Array und vom angegebenen Objekt implementierte IComparable-Schnittstelle verwendet. |
|
BinarySearch(Array, Object, IComparer) | Durchsucht ein ganzes sortiertes eindimensionales Array mithilfe der angegebenen IComparer-Schnittstelle nach einem Wert. |
|
BinarySearch(Array, Int32, Int32, Object) | Durchsucht einen Bereich von Elementen in einem sortierten eindimensionalen Array nach einem Wert. Dazu wird die von jedem Element des Array und vom angegebenen Wert implementierte IComparable-Schnittstelle verwendet. |
|
BinarySearch(Array, Int32, Int32, Object, IComparer) | Durchsucht einen Bereich von Elementen in einem sortierten eindimensionalen Array mithilfe der angegebenen IComparer-Schnittstelle nach einem Wert. |
|
BinarySearch<T>(T[], T) | Durchsucht ein ganzes sortiertes eindimensionales Array nach einem bestimmten Element. Dazu wird die von jedem Element des Array und vom angegebenen Objekt implementierte generische IComparable<T>-Schnittstelle verwendet. |
|
BinarySearch<T>(T[], T, IComparer<T>) | Durchsucht ein ganzes sortiertes eindimensionales Array mithilfe der angegebenen generischen IComparer<T>-Schnittstelle nach einem Wert. |
|
BinarySearch<T>(T[], Int32, Int32, T) | Durchsucht einen Bereich von Elementen in einem sortierten eindimensionalen Array nach einem Wert. Dazu wird die von jedem Element des Array und vom angegebenen Wert implementierte generische IComparable<T>-Schnittstelle verwendet. |
|
BinarySearch<T>(T[], Int32, Int32, T, IComparer<T>) | Durchsucht einen Bereich von Elementen in einem sortierten eindimensionalen Array mithilfe der angegebenen generischen IComparer<T>-Schnittstelle nach einem Wert. |
|
Clear | Legt einen Bereich von Elementen des Array je nach Elementtyp auf 0, false oder null fest. |
|
Clone | Erstellt eine flache Kopie von Array. |
|
ConstrainedCopy | Kopiert einen beim angegebenen Quellindex beginnenden Elementbereich eines Array und fügt ihn ab dem angegebenen Zielindex in ein anderes Array ein. Stellt sicher, dass alle Änderungen rückgängig gemacht werden, wenn der Kopiervorgang nicht erfolgreich durchgeführt wird. |
|
ConvertAll<TInput, TOutput> | Konvertiert ein Array des einen Typs in ein Array eines anderen Typs. |
|
Copy(Array, Array, Int32) | Kopiert einen mit dem ersten Element beginnenden Elementbereich eines Array und fügt ihn ab dem ersten Element in ein anderes Array ein. Die Länge wird als 32-Bit-Ganzzahl angegeben. |
|
Copy(Array, Array, Int64) | Kopiert einen mit dem ersten Element beginnenden Elementbereich eines Array und fügt ihn ab dem ersten Element in ein anderes Array ein. Die Länge wird als 64-Bit-Ganzzahl angegeben. |
|
Copy(Array, Int32, Array, Int32, Int32) | Kopiert einen beim angegebenen Quellindex beginnenden Elementbereich eines Array und fügt ihn ab dem angegebenen Zielindex in ein anderes Array ein. Die Länge und die Indizes werden als 32-Bit-Ganzzahlen angegeben. |
|
Copy(Array, Int64, Array, Int64, Int64) | Kopiert einen beim angegebenen Quellindex beginnenden Elementbereich eines Array und fügt ihn ab dem angegebenen Zielindex in ein anderes Array ein. Die Länge und die Indizes werden als 64-Bit-Ganzzahlen angegeben. |
|
CopyTo(Array, Int32) | Kopiert alle Elemente des aktuellen eindimensionalen Array in das angegebene eindimensionale Array, beginnend am angegebenen Index des Ziel-Array. Der Index wird als 32-Bit-Ganzzahl angegeben. |
|
CopyTo(Array, Int64) | Kopiert alle Elemente des aktuellen eindimensionalen Array in das angegebene eindimensionale Array, beginnend am angegebenen Index des Ziel-Array. Der Index wird als 64-Bit-Ganzzahl angegeben. |
|
CreateInstance(Type, Int32) | Erstellt ein eindimensionales Array der angegebenen Länge und vom angegebenen Type mit nullbasierter Indizierung. |
|
CreateInstance(Type, Int32[]) | Erstellt ein mehrdimensionales Array vom angegebenen Type mit der für jede Dimension angegebenen Länge und mit nullbasierter Indizierung. Die Längen der Dimension werden in einem Array von 32-Bit-Ganzzahlen angegeben. |
|
CreateInstance(Type, Int64[]) | Erstellt ein mehrdimensionales Array vom angegebenen Type mit der für jede Dimension angegebenen Länge und mit nullbasierter Indizierung. Die Längen der Dimension werden in einem Array von 64-Bit-Ganzzahlen angegeben. |
|
CreateInstance(Type, Int32, Int32) | Erstellt ein zweidimensionales Array vom angegebenen Type mit der für jede Dimension angegebenen Länge und mit nullbasierter Indizierung. |
|
CreateInstance(Type, Int32[], Int32[]) | Erstellt ein mehrdimensionales Array vom angegebenen Type mit der für jede Dimension angegebenen Länge und Untergrenze. |
|
CreateInstance(Type, Int32, Int32, Int32) | Erstellt ein dreidimensionales Array vom angegebenen Type mit der für jede Dimension angegebenen Länge und mit nullbasierter Indizierung. |
|
Equals(Object) | Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.) |
|
Exists<T> | Bestimmt, ob das angegebene Array Elemente enthält, die mit den vom angegebenen Prädikat definierten Bedingungen übereinstimmen. |
|
Finalize | Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.) |
|
Find<T> | Sucht nach einem Element, das die durch das angegebene Prädikat definierten Bedingungen erfüllt, und gibt das erste Vorkommen im gesamten Array zurück. |
|
FindAll<T> | Ruft alle Elemente ab, die die vom angegebenen Prädikat definierten Bedingungen erfüllen. |
|
FindIndex<T>(T[], Predicate<T>) | Sucht nach einem Element, das die durch das angegebene Prädikat definierten Bedingungen erfüllt, und gibt den nullbasierten Index des ersten Vorkommens im gesamten Array zurück. |
|
FindIndex<T>(T[], Int32, Predicate<T>) | Sucht nach einem Element, das die durch das angegebene Prädikat definierten Bedingungen erfüllt, und gibt den nullbasierten Index des ersten Vorkommens innerhalb des Bereichs von Elementen im Array zurück, der vom angegebenen Index bis zum letzten Element reicht. |
|
FindIndex<T>(T[], Int32, Int32, Predicate<T>) | Sucht nach einem Element, das die durch das angegebene Prädikat definierten Bedingungen erfüllt, und gibt den nullbasierten Index des ersten Vorkommens innerhalb des Bereichs von Elementen im Array zurück, der am angegebenen Index beginnt und die angegebene Anzahl von Elementen umfasst. |
|
FindLast<T> | Sucht nach einem Element, das die durch das angegebene Prädikat definierten Bedingungen erfüllt, und gibt das letzte Vorkommen im gesamten Array zurück. |
|
FindLastIndex<T>(T[], Predicate<T>) | Sucht nach einem Element, das die durch das angegebene Prädikat definierten Bedingungen erfüllt, und gibt den nullbasierten Index des letzten Vorkommens im gesamten Array zurück. |
|
FindLastIndex<T>(T[], Int32, Predicate<T>) | Sucht nach einem Element, das die durch das angegebene Prädikat definierten Bedingungen erfüllt, und gibt den nullbasierten Index des letzten Vorkommens innerhalb des Bereichs von Elementen im Array zurück, der vom ersten Element bis zum angegeben Index reicht. |
|
FindLastIndex<T>(T[], Int32, Int32, Predicate<T>) | Sucht nach einem Element, das die durch das angegebene Prädikat definierten Bedingungen erfüllt, und gibt den nullbasierten Index des ersten Vorkommens innerhalb des Bereichs von Elementen im Array zurück, der die angegebene Anzahl von Elementen umfasst und am angegebenen Index endet. |
|
ForEach<T> | Führt die angegebene Aktion für jedes Element des angegebenen Arrays aus. |
|
GetEnumerator | Gibt einen IEnumerator für das Array zurück. |
|
GetHashCode | Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.) |
|
GetLength | Ruft eine 32-Bit-Ganzzahl ab, die die Anzahl der Elemente in der angegebenen Dimension des Array angibt. |
|
GetLongLength | Ruft eine 64-Bit-Ganzzahl ab, die die Anzahl der Elemente in der angegebenen Dimension des Array angibt. |
|
GetLowerBound | Ruft die untere Grenze der angegebenen Dimension im Array ab. |
|
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) |
|
GetUpperBound | Ruft die obere Grenze der angegebenen Dimension im Array ab. |
|
GetValue(Int32) | Ruft den Wert an der angegebenen Position des eindimensionalen Array ab. Der Index wird als 32-Bit-Ganzzahl angegeben. |
|
GetValue(Int32[]) | Ruft den Wert an der angegebenen Position des mehrdimensionalen Array ab. Die Indizes werden als Array von 32-Bit-Ganzzahlen angegeben. |
|
GetValue(Int64) | Ruft den Wert an der angegebenen Position des eindimensionalen Array ab. Der Index wird als 64-Bit-Ganzzahl angegeben. |
|
GetValue(Int64[]) | Ruft den Wert an der angegebenen Position des mehrdimensionalen Array ab. Die Indizes werden als Array von 64-Bit-Ganzzahlen angegeben. |
|
GetValue(Int32, Int32) | Ruft den Wert an der angegebenen Position des zweidimensionalen Array ab. Die Indizes werden als 32-Bit-Ganzzahlen angegeben. |
|
GetValue(Int64, Int64) | Ruft den Wert an der angegebenen Position des zweidimensionalen Array ab. Die Indizes werden als 64-Bit-Ganzzahlen angegeben. |
|
GetValue(Int32, Int32, Int32) | Ruft den Wert an der angegebenen Position des dreidimensionalen Array ab. Die Indizes werden als 32-Bit-Ganzzahlen angegeben. |
|
GetValue(Int64, Int64, Int64) | Ruft den Wert an der angegebenen Position des dreidimensionalen Array ab. Die Indizes werden als 64-Bit-Ganzzahlen angegeben. |
|
IndexOf(Array, Object) | Sucht nach dem angegebenen Objekt und gibt den Index des ersten Vorkommens innerhalb des gesamten eindimensionalen Array zurück. |
|
IndexOf(Array, Object, Int32) | Sucht nach dem angegebenen Objekt und gibt den Index des ersten Vorkommens innerhalb des Bereichs von Elementen im eindimensionalen Array zurück, der sich vom angegebenen Index bis zum letzten Element erstreckt. |
|
IndexOf(Array, Object, Int32, Int32) | Sucht nach dem angegebenen Objekt und gibt den Index des ersten Vorkommens innerhalb des Bereichs von Elementen im eindimensionalen Array zurück, der am angegebenen Index beginnt und die angegebene Anzahl von Elementen enthält. |
|
IndexOf<T>(T[], T) | Sucht nach dem angegebenen Objekt und gibt den Index des ersten Vorkommens innerhalb des gesamten Array zurück. |
|
IndexOf<T>(T[], T, Int32) | Sucht nach dem angegebenen Objekt und gibt den Index des ersten Vorkommens innerhalb des Bereichs von Elementen im Array zurück, der sich vom angegebenen Index bis zum letzten Element erstreckt. |
|
IndexOf<T>(T[], T, Int32, Int32) | Sucht nach dem angegebenen Objekt und gibt den Index des ersten Vorkommens innerhalb des Bereichs von Elementen im Array zurück, der am angegebenen Index beginnt und die angegebene Anzahl von Elementen enthält. |
|
Initialize | Initialisiert jedes Element des Werttyp-Array durch einen Aufruf des Standardkonstruktors für den Werttyp. |
|
LastIndexOf(Array, Object) | Sucht nach dem angegebenen Objekt und gibt den Index des letzten Vorkommens innerhalb des gesamten eindimensionalen Array zurück. |
|
LastIndexOf(Array, Object, Int32) | Sucht nach dem angegebenen Objekt und gibt den Index des letzten Vorkommens innerhalb des Bereichs von Elementen im eindimensionalen Array zurück, der sich vom ersten Element bis zum angegebenen Index erstreckt. |
|
LastIndexOf(Array, Object, Int32, Int32) | Sucht nach dem angegebenen Objekt und gibt den Index des letzten Vorkommens innerhalb des Bereichs von Elementen im eindimensionalen Array zurück, der die angegebene Anzahl von Elementen enthält und am angegebenen Index endet. |
|
LastIndexOf<T>(T[], T) | Sucht nach dem angegebenen Objekt und gibt den Index des letzten Vorkommens innerhalb des gesamten Array zurück. |
|
LastIndexOf<T>(T[], T, Int32) | Sucht nach dem angegebenen Objekt und gibt den Index des letzten Vorkommens innerhalb des Bereichs von Elementen im Array zurück, der sich vom ersten Element bis zum angegebenen Index erstreckt. |
|
LastIndexOf<T>(T[], T, Int32, Int32) | Sucht nach dem angegebenen Objekt und gibt den Index des letzten Vorkommens innerhalb des Bereichs von Elementen im Array zurück, der die angegebene Anzahl von Elementen enthält und am angegebenen Index endet. |
|
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) |
|
Resize<T> | Ändert die Anzahl der Elemente eines Arrays in die angegebene neue Größe. |
|
Reverse(Array) | Kehrt die Reihenfolge der Elemente im gesamten eindimensionalen Array um. |
|
Reverse(Array, Int32, Int32) | Kehrt die Reihenfolge der Elemente in einem Bereich von Elementen im eindimensionalen Array um. |
|
SetValue(Object, Int32) | Legt das Element an der angegebenen Position des eindimensionalen Array auf einen Wert fest. Der Index wird als 32-Bit-Ganzzahl angegeben. |
|
SetValue(Object, Int32[]) | Legt das Element an der angegebenen Position des mehrdimensionalen Array auf einen Wert fest. Die Indizes werden als Array von 32-Bit-Ganzzahlen angegeben. |
|
SetValue(Object, Int64) | Legt das Element an der angegebenen Position des eindimensionalen Array auf einen Wert fest. Der Index wird als 64-Bit-Ganzzahl angegeben. |
|
SetValue(Object, Int64[]) | Legt das Element an der angegebenen Position des mehrdimensionalen Array auf einen Wert fest. Die Indizes werden als Array von 64-Bit-Ganzzahlen angegeben. |
|
SetValue(Object, Int32, Int32) | Legt das Element an der angegebenen Position des zweidimensionalen Array auf einen Wert fest. Die Indizes werden als 32-Bit-Ganzzahlen angegeben. |
|
SetValue(Object, Int64, Int64) | Legt das Element an der angegebenen Position des zweidimensionalen Array auf einen Wert fest. Die Indizes werden als 64-Bit-Ganzzahlen angegeben. |
|
SetValue(Object, Int32, Int32, Int32) | Legt das Element an der angegebenen Position des dreidimensionalen Array auf einen Wert fest. Die Indizes werden als 32-Bit-Ganzzahlen angegeben. |
|
SetValue(Object, Int64, Int64, Int64) | Legt das Element an der angegebenen Position des dreidimensionalen Array auf einen Wert fest. Die Indizes werden als 64-Bit-Ganzzahlen angegeben. |
|
Sort(Array) | Sortiert die Elemente in einem ganzen eindimensionalen Array mithilfe der IComparable-Implementierung jedes Elements des Array. |
|
Sort(Array, Array) | Sortiert ein Paar von eindimensionalen Array-Objekten (das eine enthält die Schlüssel und das andere die entsprechenden Werte) nach den Schlüsseln im ersten Array und verwendet dabei die IComparable-Implementierung jedes Schlüssels. |
|
Sort(Array, IComparer) | Sortiert die Elemente in einem eindimensionalen Array mithilfe des angegebenen IComparer. |
|
Sort(Array, Array, IComparer) | Sortiert ein Paar von eindimensionalen Array-Objekten (das eine enthält die Schlüssel und das andere die entsprechenden Werte) nach den Schlüsseln im ersten Array und verwendet dabei den angegebenen IComparer. |
|
Sort(Array, Int32, Int32) | Sortiert die Elemente in einem Bereich von Elementen in einem eindimensionalen Array mithilfe der IComparable-Implementierung jedes Elements des Array. |
|
Sort(Array, Array, Int32, Int32) | Sortiert einen Bereich von Elementen in einem Paar von eindimensionalen Array-Objekten (das eine enthält die Schlüssel und das andere die entsprechenden Werte) nach den Schlüsseln im ersten Array und verwendet dabei die IComparable-Implementierung jedes Schlüssels. |
|
Sort(Array, Int32, Int32, IComparer) | Sortiert die Elemente in einem Bereich von Elementen in einem eindimensionalen Array mithilfe dem angegebenen IComparer. |
|
Sort(Array, Array, Int32, Int32, IComparer) | Sortiert einen Bereich von Elementen in einem Paar von eindimensionalen Array-Objekten (das eine enthält die Schlüssel und das andere die entsprechenden Werte) nach den Schlüsseln im ersten Array und verwendet dabei den angegebenen IComparer. |
|
Sort<T>(T[]) | Sortiert die Elemente in einem ganzen Array mithilfe der Implementierung der generischen IComparable<T>-Schnittstelle jedes Elements des Array. |
|
Sort<T>(T[], IComparer<T>) | Sortiert die Elementen in einem Array mit der angegebenen generischen IComparer<T>-Schnittstelle. |
|
Sort<T>(T[], Comparison<T>) | Sortiert die Elemente in einem Array mithilfe der angegebenen Comparison<T>. |
|
Sort<T>(T[], Int32, Int32) | Sortiert die Elemente in einem Bereich von Elementen in einem Array mithilfe der Implementierung der generischen IComparable<T>-Schnittstelle jedes Elements des Array. |
|
Sort<T>(T[], Int32, Int32, IComparer<T>) | Sortiert die Elemente in einem Bereich von Elementen in der Array mithilfe der angegebenen generischen IComparer<T>-Schnittstelle. |
|
Sort<TKey, TValue>(TKey[], TValue[]) | Sortiert ein Paar von Array-Objekten (das eine enthält die Schlüssel und das andere die entsprechenden Werte) nach den Schlüsseln im ersten Array und verwendet dabei die Implementierung der generischen IComparable<T>-Schnittstelle jedes Schlüssels. |
|
Sort<TKey, TValue>(TKey[], TValue[], IComparer<TKey>) | Sortiert ein Paar von Array-Objekten (das eine enthält die Schlüssel und das andere die entsprechenden Werte) nach den Schlüsseln im ersten Array und verwendet dabei die angegebene generische IComparer<T>-Schnittstelle. |
|
Sort<TKey, TValue>(TKey[], TValue[], Int32, Int32) | Sortiert einen Bereich von Elementen in einem Paar von Array-Objekten (das eine enthält die Schlüssel und das andere die entsprechenden Werte) nach den Schlüsseln im ersten Array und verwendet dabei die Implementierung der generischen IComparable<T>-Schnittstelle jedes Schlüssels. |
|
Sort<TKey, TValue>(TKey[], TValue[], Int32, Int32, IComparer<TKey>) | Sortiert einen Bereich von Elementen in einem Paar von Array-Objekten (das eine enthält die Schlüssel und das andere die entsprechenden Werte) nach den Schlüsseln im ersten Array und verwendet dabei die angegebene generische IComparer<T>-Schnittstelle. |
|
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
|
TrueForAll<T> | Bestimmt, ob jedes Element im Array die vom angegebenen Prädikat definierten Bedingungen erfüllt. |
| Name | Beschreibung | |
|---|---|---|
|
AsParallel | Ermöglicht die Parallelisierung einer Abfrage. (Durch ParallelEnumerable definiert.) |
|
AsQueryable | Konvertiert einen IEnumerable in einen IQueryable. (Durch Queryable definiert.) |
|
Cast<TResult> | Konvertiert die Elemente eines IEnumerable in den angegebenen Typ. (Durch Enumerable definiert.) |
|
OfType<TResult> | Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs. (Durch Enumerable definiert.) |
| Name | Beschreibung | |
|---|---|---|
|
ICollection.CopyTo | |
|
ICollection.Count | Ruft die Anzahl der Elemente ab, die im Array enthalten sind. |
|
ICollection.IsSynchronized | |
|
ICollection.SyncRoot | |
|
IList.Add | Fügt der IList ein Element hinzu. |
|
IList.Clear | Entfernt alle Elemente aus IList. |
|
IList.Contains | Bestimmt, ob sich ein Element in IList befindet. |
|
IList.IndexOf | Bestimmt den Index eines bestimmten Elements in der IList. |
|
IList.Insert | Fügt am angegebenen Index ein Element in die IList ein. |
|
IList.IsFixedSize | |
|
IList.IsReadOnly | |
|
IList.Item | Ruft das Element am angegebenen Index ab oder legt dieses fest. |
|
IList.Remove | Entfernt das erste Vorkommen eines bestimmten Objekts aus der IList. |
|
IList.RemoveAt | Entfernt das IList-Element am angegebenen Index. |
|
IStructuralComparable.CompareTo | Bestimmt, ob das aktuelle Auflistungsobjekt in der Sortierreihenfolge vor oder nach einem anderen Objekt oder an derselben Position auftritt. |
|
IStructuralEquatable.Equals | Bestimmt, ob ein Objekt gleich der aktuellen Instanz ist. |
|
IStructuralEquatable.GetHashCode | Gibt einen Hashcode für die aktuelle Instanz zurück. |
Die Array-Klasse ist die Basisklasse für Implementierungen von Programmiersprachen, die Arrays unterstützen. Allerdings können nur das System und die Compiler explizite Ableitungen von der Array-Klasse vornehmen. Benutzer sollten die von der Sprache zur Verfügung gestellten Arraykonstrukte verwenden.
Ein Element ist ein Wert in einem Array. Die Länge eines Array ist die Gesamtzahl von Elementen, die es enthalten kann. Der Rang eines Array ist die Anzahl von Dimensionen im Array. Die untere Grenze einer Dimension eines Array ist der Startindex dieser Dimension des Array. Ein mehrdimensionales Array kann für jede Dimension verschiedene Grenzen haben. Ein Array kann maximal 32 Dimensionen aufweisen.
Wichtig
|
|---|
|
In .NET Framework, Version 2.0, implementiert die Array-Klasse die generischen Schnittstellen System.Collections.Generic.IList<T>, System.Collections.Generic.ICollection<T> und System.Collections.Generic.IEnumerable<T>. Die Implementierungen werden den Arrays zur Laufzeit bereitgestellt und sind daher für Buildtools der Dokumentation nicht sichtbar. Daraus resultiert, dass die generischen Schnittstellen nicht in der Deklarationssyntax für die Array-Klasse angezeigt werden und dass es keine Verweisthemen für Schnittstellenmember gibt, auf die nur durch das Konvertieren eines Array in den generischen Schnittstellentyp (explizite Schnittstellenimplementierungen) zugegriffen werden kann. Sie sollten beim Konvertieren eines Arrays zu einer dieser Schnittstellen unbedingt beachten, dass Member, die Elemente hinzufügen, einfügen oder entfernen, eine NotSupportedException auslösen. |
Informationen über Arraytypdeklarationen werden von Type-Objekten bereitgestellt. Array-Objekte desselben Arraytyps weisen dasselbe Type-Objekt auf.
Type.IsArray und Type.GetElementType geben bei Array möglicherweise nicht die erwarteten Ergebnisse zurück, da ein Array, das in den Typ Array umgewandelt wird, ein Objekt und kein Array ergibt. Das heißt, typeof(System.Array).IsArray gibt false zurück, und typeof(System.Array).GetElementType gibt null zurück.
Im Unterschied zu den meisten anderen Klassen stellt Array anstelle öffentlicher Konstruktoren die CreateInstance-Methode bereit, um Zugriff mit spätem Binden zu ermöglichen.
Die Array.Copy-Methode kopiert nicht nur Elemente zwischen Arrays desselben Typs, sondern auch zwischen Standardarrays verschiedener Typen. Typen werden automatisch umgewandelt.
Einige Methoden, z. B. CreateInstance, Copy, CopyTo, GetValue und SetValue, stellen Überladungen bereit, die 64-Bit-Ganzzahlen als Parameter akzeptieren, um große Kapazitätsarrays unterzubringen. LongLength und GetLongLength geben 64-Bit-Ganzzahlen zurück, die die Länge des Arrays angeben.
Es wird nicht sichergestellt, dass die Array sortiert ist. Sie müssen die Array sortieren, bevor Sie Vorgänge wie BinarySearch durchführen, die eine sortierte Array voraussetzen.
Das Verwenden eines Array-Objekts von Zeigern in systemeigenem Code wird nicht unterstützt und löst eine NotSupportedException für mehrere Methoden aus.
Im folgenden Codebeispiel wird veranschaulicht, wie Array.Copy Elemente zwischen einem Array von ganzzahligem Typ und einem Array vom Typ Object kopiert.
public class SamplesArray { public static void Main() { // Creates and initializes a new integer array and a new Object array. int[] myIntArray = new int[5] { 1, 2, 3, 4, 5 }; Object[] myObjArray = new Object[5] { 26, 27, 28, 29, 30 }; // Prints the initial values of both arrays. Console.WriteLine( "Initially," ); Console.Write( "integer array:" ); PrintValues( myIntArray ); Console.Write( "Object array: " ); PrintValues( myObjArray ); // Copies the first two elements from the integer array to the Object array. System.Array.Copy( myIntArray, myObjArray, 2 ); // Prints the values of the modified arrays. Console.WriteLine( "\nAfter copying the first two elements of the integer array to the Object array," ); Console.Write( "integer array:" ); PrintValues( myIntArray ); Console.Write( "Object array: " ); PrintValues( myObjArray ); // Copies the last two elements from the Object array to the integer array. System.Array.Copy( myObjArray, myObjArray.GetUpperBound(0) - 1, myIntArray, myIntArray.GetUpperBound(0) - 1, 2 ); // Prints the values of the modified arrays. Console.WriteLine( "\nAfter copying the last two elements of the Object array to the integer array," ); Console.Write( "integer array:" ); PrintValues( myIntArray ); Console.Write( "Object array: " ); PrintValues( myObjArray ); } public static void PrintValues( Object[] myArr ) { foreach ( Object i in myArr ) { Console.Write( "\t{0}", i ); } Console.WriteLine(); } public static void PrintValues( int[] myArr ) { foreach ( int i in myArr ) { Console.Write( "\t{0}", i ); } Console.WriteLine(); } } /* This code produces the following output. Initially, integer array: 1 2 3 4 5 Object array: 26 27 28 29 30 After copying the first two elements of the integer array to the Object array, integer array: 1 2 3 4 5 Object array: 1 2 28 29 30 After copying the last two elements of the Object array to the integer array, integer array: 1 2 3 29 30 Object array: 1 2 28 29 30 */
Im folgenden Codebeispiel wird ein Array erstellt und initialisiert, und es werden die Eigenschaften und Elemente angezeigt.
public class SamplesArray2{ public static void Main() { // Creates and initializes a new three-dimensional Array of type Int32. Array myArr = Array.CreateInstance( typeof(Int32), 2, 3, 4 ); for ( int i = myArr.GetLowerBound(0); i <= myArr.GetUpperBound(0); i++ ) for ( int j = myArr.GetLowerBound(1); j <= myArr.GetUpperBound(1); j++ ) for ( int k = myArr.GetLowerBound(2); k <= myArr.GetUpperBound(2); k++ ) { myArr.SetValue( (i*100)+(j*10)+k, i, j, k ); } // Displays the properties of the Array. Console.WriteLine( "The Array has {0} dimension(s) and a total of {1} elements.", myArr.Rank, myArr.Length ); Console.WriteLine( "\tLength\tLower\tUpper" ); for ( int i = 0; i < myArr.Rank; i++ ) { Console.Write( "{0}:\t{1}", i, myArr.GetLength(i) ); Console.WriteLine( "\t{0}\t{1}", myArr.GetLowerBound(i), myArr.GetUpperBound(i) ); } // Displays the contents of the Array. Console.WriteLine( "The Array contains the following values:" ); PrintValues( myArr ); } public static void PrintValues( Array myArr ) { System.Collections.IEnumerator myEnumerator = myArr.GetEnumerator(); int i = 0; int cols = myArr.GetLength( myArr.Rank - 1 ); while ( myEnumerator.MoveNext() ) { if ( i < cols ) { i++; } else { Console.WriteLine(); i = 1; } Console.Write( "\t{0}", myEnumerator.Current ); } Console.WriteLine(); } } /* This code produces the following output. The Array has 3 dimension(s) and a total of 24 elements. Length Lower Upper 0: 2 0 1 1: 3 0 2 2: 4 0 3 The Array contains the following values: 0 1 2 3 10 11 12 13 20 21 22 23 100 101 102 103 110 111 112 113 120 121 122 123 */
Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Öffentliche statische (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Diese Implementierung stellt keinen synchronisierten (threadsicheren) Wrapper für ein Array dar, jedoch können auf Array basierende .NET Framework-Klassen über die SyncRoot-Eigenschaft eine eigene synchronisierte Version der Auflistung bereitstellen.
Die Enumeration einer Auflistung ist systemintern keine threadsichere Prozedur. Selbst wenn eine Auflistung synchronisiert wird, besteht die Möglichkeit, dass andere Threads sie ändern. Dies führt dazu, dass der Enumerator eine Ausnahme auslöst. Um Threadsicherheit während der Enumeration zu garantieren, können Sie entweder die Auflistung während der gesamten Enumeration sperren oder die durch Änderungen durch andere Threads verursachten Ausnahmen auffangen.
Wichtig