Fournit des méthodes pour la création, la manipulation, la recherche ainsi que le tri des tableaux et sert de classe de base pour tous les tableaux du Common Language Runtime.
System.Array
Espace de noms : System
Assembly : mscorlib (dans mscorlib.dll)
<SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public MustInherit Class Array _ Implements ICloneable, IList, ICollection, IEnumerable, _ IStructuralComparable, IStructuralEquatable
[SerializableAttribute] [ComVisibleAttribute(true)] public abstract class Array : ICloneable, IList, ICollection, IEnumerable, IStructuralComparable, IStructuralEquatable
[SerializableAttribute] [ComVisibleAttribute(true)] public ref class Array abstract : ICloneable, IList, ICollection, IEnumerable, IStructuralComparable, IStructuralEquatable
[<AbstractClass>] [<SerializableAttribute>] [<ComVisibleAttribute(true)>] type Array = class interface ICloneable interface IList interface ICollection interface IEnumerable interface IStructuralComparable interface IStructuralEquatable end
Le type Array expose les membres suivants.
| Nom | Description | |
|---|---|---|
|
IsFixedSize | Obtient une valeur indiquant si Array est de taille fixe. |
|
IsReadOnly | Obtient une valeur indiquant si Array est en lecture seule. |
|
IsSynchronized | Obtient une valeur indiquant si l'accès à Array est synchronisé (thread-safe). |
|
Length | Obtient un entier 32 bits qui représente le nombre total d'éléments dans toutes les dimensions de Array. |
|
LongLength | Obtient un entier 64 bits qui représente le nombre total d'éléments dans toutes les dimensions de Array. |
|
Rank | Obtient le rang (nombre de dimensions) de Array. |
|
SyncRoot | Obtient un objet qui peut être utilisé pour synchroniser l'accès au Array. |
| Nom | Description | |
|---|---|---|
|
AsReadOnly<T> | Retourne un wrapper en lecture seule pour le tableau spécifié. |
|
BinarySearch(Array, Object) | Recherche un élément spécifique dans un Array entier trié unidimensionnel, à l'aide de l'interface IComparable implémentée par chaque élément de Array et par l'objet spécifié. |
|
BinarySearch(Array, Object, IComparer) | Recherche une valeur dans un Array entier trié unidimensionnel, à l'aide de l'interface IComparer spécifiée. |
|
BinarySearch(Array, Int32, Int32, Object) | Recherche une valeur dans une plage d'éléments d'un Array trié unidimensionnel, à l'aide de l'interface IComparable implémentée par chaque élément de Array et par la valeur spécifiée. |
|
BinarySearch(Array, Int32, Int32, Object, IComparer) | Recherche une valeur dans une plage d'éléments d'un Array trié unidimensionnel, à l'aide de l'interface IComparer spécifiée. |
|
BinarySearch<T>(T[], T) | Recherche un élément spécifique dans un Array entier trié unidimensionnel, à l'aide de l'interface générique IComparable<T> implémentée par chaque élément de Array et par l'objet spécifié. |
|
BinarySearch<T>(T[], T, IComparer<T>) | Recherche une valeur dans un Array entier trié unidimensionnel, à l'aide de l'interface générique IComparer<T> spécifiée. |
|
BinarySearch<T>(T[], Int32, Int32, T) | Recherche une valeur dans une plage d'éléments d'un Array trié unidimensionnel, à l'aide de l'interface générique IComparable<T> implémentée par chaque élément de Array et par la valeur spécifiée. |
|
BinarySearch<T>(T[], Int32, Int32, T, IComparer<T>) | Recherche une valeur dans une plage d'éléments d'un Array trié unidimensionnel, à l'aide de l'interface générique IComparer<T> spécifiée. |
|
Clear | Affecte à une plage d'éléments de Array la valeur zéro, false ou null, selon le type d'élément. |
|
Clone | Crée une copie superficielle de Array. |
|
ConstrainedCopy | Copie une série d'éléments de Array en commençant à l'index source spécifié et les colle dans un autre Array en commençant à l'index de destination spécifié. Garantit que toutes les modifications sont annulées si la copie ne se déroule pas intégralement avec succès. |
|
ConvertAll<TInput, TOutput> | Convertit un tableau d'un type en un tableau d'un autre type. |
|
Copy(Array, Array, Int32) | Copie une série d'éléments de Array en commençant au premier élément, et les colle dans un autre Array en commençant au premier élément. La longueur est spécifiée sous forme d'un entier 32 bits. |
|
Copy(Array, Array, Int64) | Copie une série d'éléments de Array en commençant au premier élément, et les colle dans un autre Array en commençant au premier élément. La longueur est spécifiée sous forme d'un entier 64 bits. |
|
Copy(Array, Int32, Array, Int32, Int32) | Copie une série d'éléments de Array en commençant à l'index source spécifié et les colle dans un autre Array en commençant à l'index de destination spécifié. La longueur et les index sont spécifiés en tant qu'entiers 32 bits. |
|
Copy(Array, Int64, Array, Int64, Int64) | Copie une série d'éléments de Array en commençant à l'index source spécifié et les colle dans un autre Array en commençant à l'index de destination spécifié. La longueur et les index sont spécifiés en tant qu'entiers 64 bits. |
|
CopyTo(Array, Int32) | Copie tous les éléments du Array unidimensionnel en cours dans le Array unidimensionnel spécifié en commençant à l'index Array de destination spécifié. L'index est spécifié en tant qu'entier 32 bits. |
|
CopyTo(Array, Int64) | Copie tous les éléments du Array unidimensionnel en cours dans le Array unidimensionnel spécifié en commençant à l'index Array de destination spécifié. L'index est spécifié en tant qu'entier 64 bits. |
|
CreateInstance(Type, Int32) | Crée un Array unidimensionnel du Type et de la longueur spécifiés, à l'aide d'un index de base zéro. |
|
CreateInstance(Type, Int32[]) | Crée un Array multidimensionnel du Type et des longueurs de dimensions spécifiés, à l'aide d'un index de base zéro. Les longueurs de dimensions sont spécifiées en tant qu'entiers 32 bits. |
|
CreateInstance(Type, Int64[]) | Crée un Array multidimensionnel du Type et des longueurs de dimensions spécifiés, à l'aide d'un index de base zéro. Les longueurs de dimensions sont spécifiées en tant qu'entiers 64 bits. |
|
CreateInstance(Type, Int32, Int32) | Crée un Array à deux dimensions du Type et des longueurs de dimensions spécifiés, à l'aide d'un index de base zéro. |
|
CreateInstance(Type, Int32[], Int32[]) | Crée un Array multidimensionnel du Type et des longueurs de dimensions spécifiés, avec les limites inférieures déterminées. |
|
CreateInstance(Type, Int32, Int32, Int32) | Crée un Array à trois dimensions du Type et des longueurs de dimensions spécifiés, à l'aide d'un index de base zéro. |
|
Equals(Object) | Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.) |
|
Exists<T> | Détermine si le tableau spécifié contient des éléments qui correspondent aux conditions définies par le prédicat spécifié. |
|
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) |
|
Find<T> | Recherche un élément qui correspond aux conditions définies par le prédicat spécifié et retourne la première occurrence dans le Array entier. |
|
FindAll<T> | Récupère tous les éléments qui correspondent aux conditions définies par le prédicat spécifié. |
|
FindIndex<T>(T[], Predicate<T>) | Recherche un élément qui correspond aux conditions définies par le prédicat spécifié, et retourne l'index de base zéro de la première occurrence dans le Array entier. |
|
FindIndex<T>(T[], Int32, Predicate<T>) | Recherche un élément qui correspond aux conditions définies par le prédicat spécifié et retourne l'index de base zéro de la première occurrence dans la plage d'éléments du Array qui s'étend de l'index spécifié au dernier élément. |
|
FindIndex<T>(T[], Int32, Int32, Predicate<T>) | Recherche un élément qui correspond aux conditions définies par le prédicat spécifié et retourne l'index de base zéro de la première occurrence dans la plage d'éléments du Array qui commence à l'index spécifié et contient le nombre d'éléments spécifié. |
|
FindLast<T> | Recherche un élément qui correspond aux conditions définies par le prédicat spécifié et retourne la dernière occurrence dans le Array entier. |
|
FindLastIndex<T>(T[], Predicate<T>) | Recherche un élément qui correspond aux conditions définies par le prédicat spécifié, et retourne l'index de base zéro de la dernière occurrence dans le Array entier. |
|
FindLastIndex<T>(T[], Int32, Predicate<T>) | Recherche un élément qui correspond aux conditions définies par le prédicat spécifié et retourne l'index de base zéro de la dernière occurrence dans la plage d'éléments du Array qui s'étend du premier élément à l'index spécifié. |
|
FindLastIndex<T>(T[], Int32, Int32, Predicate<T>) | Recherche un élément qui correspond aux conditions définies par le prédicat spécifié et retourne l'index de base zéro de la dernière occurrence dans la plage d'éléments du Array qui contient le nombre d'éléments spécifié et se termine à l'index spécifié. |
|
ForEach<T> | Exécute l'action spécifiée sur chaque élément du tableau spécifié. |
|
GetEnumerator | Retourne un IEnumerator pour Array. |
|
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) |
|
GetLength | Obtient un entier 32 bits qui représente le nombre d'éléments dans la dimension spécifiée de Array. |
|
GetLongLength | Obtient un entier 64 bits qui représente le nombre d'éléments dans la dimension spécifiée de Array. |
|
GetLowerBound | Obtient la limite inférieure de la dimension spécifiée dans Array. |
|
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) |
|
GetUpperBound | Obtient la limite supérieure de la dimension spécifiée dans Array. |
|
GetValue(Int32) | Obtient la valeur à la position spécifiée du Array unidimensionnel. L'index est spécifié en tant qu'entier 32 bits. |
|
GetValue(Int32[]) | Obtient la valeur à la position spécifiée du Array multidimensionnel. Les index sont spécifiés sous la forme d'un tableau d'entiers 32 bits. |
|
GetValue(Int64) | Obtient la valeur à la position spécifiée du Array unidimensionnel. L'index est spécifié en tant qu'entier 64 bits. |
|
GetValue(Int64[]) | Obtient la valeur à la position spécifiée du Array multidimensionnel. Les index sont spécifiés sous la forme d'un tableau d'entiers 64 bits. |
|
GetValue(Int32, Int32) | Obtient la valeur à la position spécifiée du Array à deux dimensions. Les index sont spécifiés en tant qu'entiers 32 bits. |
|
GetValue(Int64, Int64) | Obtient la valeur à la position spécifiée du Array à deux dimensions. Les index sont spécifiés en tant qu'entiers 64 bits. |
|
GetValue(Int32, Int32, Int32) | Obtient la valeur à la position spécifiée du Array à trois dimensions. Les index sont spécifiés en tant qu'entiers 32 bits. |
|
GetValue(Int64, Int64, Int64) | Obtient la valeur à la position spécifiée du Array à trois dimensions. Les index sont spécifiés en tant qu'entiers 64 bits. |
|
IndexOf(Array, Object) | Recherche l'objet spécifié et retourne l'index de la première occurrence dans l'ensemble du Array unidimensionnel. |
|
IndexOf(Array, Object, Int32) | Recherche l'objet spécifié et retourne l'index de la première occurrence dans la plage d'éléments du Array unidimensionnel qui s'étend de l'index spécifié jusqu'au dernier élément. |
|
IndexOf(Array, Object, Int32, Int32) | Recherche l'objet spécifié et retourne l'index de la première occurrence dans la plage d'éléments du Array unidimensionnel qui commence à l'index spécifié et qui contient le nombre d'éléments spécifié. |
|
IndexOf<T>(T[], T) | Recherche l'objet spécifié et retourne l'index de la première occurrence dans le Array entier. |
|
IndexOf<T>(T[], T, Int32) | Recherche l'objet spécifié et retourne l'index de la première occurrence dans la plage d'éléments du Array qui s'étend de l'index spécifié jusqu'au dernier élément. |
|
IndexOf<T>(T[], T, Int32, Int32) | Recherche l'objet spécifié et retourne l'index de la première occurrence dans la plage d'éléments du Array qui commence à l'index spécifié et qui contient le nombre d'éléments spécifié. |
|
Initialize | Initialise tous les éléments du Array de type valeur en appelant le constructeur par défaut du type valeur. |
|
LastIndexOf(Array, Object) | Recherche l'objet spécifié et retourne l'index de la dernière occurrence dans l'ensemble du Array unidimensionnel. |
|
LastIndexOf(Array, Object, Int32) | Recherche l'objet spécifié et retourne l'index de la dernière occurrence dans la plage d'éléments du Array unidimensionnel qui s'étend du premier élément jusqu'à l'index spécifié. |
|
LastIndexOf(Array, Object, Int32, Int32) | Recherche l'objet spécifié et retourne l'index de la dernière occurrence dans la plage d'éléments du Array unidimensionnel qui contient le nombre d'éléments spécifié et se termine à l'index spécifié. |
|
LastIndexOf<T>(T[], T) | Recherche l'objet spécifié et retourne l'index de la dernière occurrence dans le Array entier. |
|
LastIndexOf<T>(T[], T, Int32) | Recherche l'objet spécifié et retourne l'index de la dernière occurrence dans la plage d'éléments du Array qui s'étend du premier élément jusqu'à l'index spécifié. |
|
LastIndexOf<T>(T[], T, Int32, Int32) | Recherche l'objet spécifié et retourne l'index de la dernière occurrence dans la plage d'éléments du Array qui contient le nombre d'éléments spécifié et se termine à l'index spécifié. |
|
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) |
|
Resize<T> | Modifie le nombre d'éléments d'un tableau avec la nouvelle taille spécifiée. |
|
Reverse(Array) | Inverse l'ordre des éléments dans l'intégralité du Array unidimensionnel. |
|
Reverse(Array, Int32, Int32) | Inverse l'ordre des éléments dans la plage d'éléments d'un Array unidimensionnel. |
|
SetValue(Object, Int32) | Affecte une valeur à l'élément à la position spécifiée du Array unidimensionnel. L'index est spécifié en tant qu'entier 32 bits. |
|
SetValue(Object, Int32[]) | Affecte une valeur à l'élément à la position spécifiée du Array multidimensionnel. Les index sont spécifiés sous la forme d'un tableau d'entiers 32 bits. |
|
SetValue(Object, Int64) | Affecte une valeur à l'élément à la position spécifiée du Array unidimensionnel. L'index est spécifié en tant qu'entier 64 bits. |
|
SetValue(Object, Int64[]) | Affecte une valeur à l'élément à la position spécifiée du Array multidimensionnel. Les index sont spécifiés sous la forme d'un tableau d'entiers 64 bits. |
|
SetValue(Object, Int32, Int32) | Affecte une valeur à l'élément à la position spécifiée du Array à deux dimensions. Les index sont spécifiés en tant qu'entiers 32 bits. |
|
SetValue(Object, Int64, Int64) | Affecte une valeur à l'élément à la position spécifiée du Array à deux dimensions. Les index sont spécifiés en tant qu'entiers 64 bits. |
|
SetValue(Object, Int32, Int32, Int32) | Affecte une valeur à l'élément à la position spécifiée du Array à trois dimensions. Les index sont spécifiés en tant qu'entiers 32 bits. |
|
SetValue(Object, Int64, Int64, Int64) | Affecte une valeur à l'élément à la position spécifiée du Array à trois dimensions. Les index sont spécifiés en tant qu'entiers 64 bits. |
|
Sort(Array) | Trie les éléments dans l'intégralité d'un Array unidimensionnel à l'aide de l'implémentation de IComparable de chaque élément de Array. |
|
Sort(Array, Array) | Trie une paire d'objets Array unidimensionnels (l'un contient les clés et l'autre, les éléments correspondants) en fonction des clés du premier Array à l'aide de l'implémentation de IComparable de chaque clé. |
|
Sort(Array, IComparer) | Trie les éléments d'un Array unidimensionnel à l'aide de l'objet IComparer spécifié. |
|
Sort(Array, Array, IComparer) | Trie une paire d'objets Array unidimensionnels (l'un contient les clés et l'autre, les éléments correspondants) en fonction des clés du premier Array à l'aide de l'objet IComparer spécifié. |
|
Sort(Array, Int32, Int32) | Trie les éléments d'une plage d'éléments d'un Array unidimensionnel à l'aide de l'implémentation de IComparable de chaque élément de Array. |
|
Sort(Array, Array, Int32, Int32) | Trie une plage d'éléments dans une paire d'objets Array unidimensionnels (l'un contient les clés et l'autre, les éléments correspondants) en fonction des clés du premier Array à l'aide de l'implémentation de IComparable de chaque clé. |
|
Sort(Array, Int32, Int32, IComparer) | Trie les éléments d'une plage d'éléments d'un Array unidimensionnel à l'aide de l'objet IComparer spécifié. |
|
Sort(Array, Array, Int32, Int32, IComparer) | Trie une plage d'éléments dans une paire d'objets Array unidimensionnels (l'un contient les clés et l'autre, les éléments correspondants) en fonction des clés du premier Array à l'aide de l'objet IComparer spécifié. |
|
Sort<T>(T[]) | Trie les éléments dans l'intégralité d'un Array à l'aide de l'implémentation de l'interface générique IComparable<T> de chaque élément de Array. |
|
Sort<T>(T[], IComparer<T>) | Trie les éléments dans un Array unidimensionnel à l'aide de l'interface générique IComparer<T> spécifiée. |
|
Sort<T>(T[], Comparison<T>) | Trie les éléments dans un Array à l'aide de l'objet Comparison<T> spécifié. |
|
Sort<T>(T[], Int32, Int32) | Trie les éléments d'une plage d'éléments d'un Array à l'aide de l'implémentation de l'interface générique IComparable<T> de chaque élément de Array. |
|
Sort<T>(T[], Int32, Int32, IComparer<T>) | Trie les éléments dans une plage d'éléments d'un Array à l'aide de l'interface générique IComparer<T> spécifiée. |
|
Sort<TKey, TValue>(TKey[], TValue[]) | Trie une paire d'objets Array (l'un contient les clés et l'autre, les éléments correspondants) en fonction des clés du premier Array à l'aide de l'implémentation de l'interface générique IComparable<T> de chaque clé. |
|
Sort<TKey, TValue>(TKey[], TValue[], IComparer<TKey>) | Trie une paire d'objets Array (l'un contient les clés et l'autre, les éléments correspondants) en fonction des clés du premier Array à l'aide de l'interface générique IComparer<T> spécifiée. |
|
Sort<TKey, TValue>(TKey[], TValue[], Int32, Int32) | Trie une plage d'éléments dans une paire d'objets Array unidimensionnels (l'un contient les clés et l'autre, les éléments correspondants) en fonction des clés du premier Array à l'aide de l'implémentation d'interface générique IComparable<T> de chaque clé. |
|
Sort<TKey, TValue>(TKey[], TValue[], Int32, Int32, IComparer<TKey>) | Trie une plage d'éléments dans une paire d'objets Array unidimensionnels (l'un contient les clés et l'autre, les éléments correspondants) en fonction des clés du premier Array à l'aide de l'interface générique IComparer<T> spécifiée. |
|
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) |
|
TrueForAll<T> | Détermine si chaque élément dans le tableau correspond aux conditions définies par le prédicat spécifié. |
| Nom | Description | |
|---|---|---|
|
AsParallel | Active la parallélisation d'une requête. (Défini par ParallelEnumerable.) |
|
AsQueryable | Convertit un IEnumerable en IQueryable. (Défini par Queryable.) |
|
Cast<TResult> | Convertit les éléments d'un IEnumerable vers le type spécifié. (Défini par Enumerable.) |
|
OfType<TResult> | Filtre les éléments d'un IEnumerable en fonction du type spécifié. (Défini par Enumerable.) |
| Nom | Description | |
|---|---|---|
|
ICollection.CopyTo | |
|
ICollection.Count | Obtient le nombre d'éléments contenus dans Array. |
|
ICollection.IsSynchronized | |
|
ICollection.SyncRoot | |
|
IList.Add | Ajoute un élément à IList. |
|
IList.Clear | Supprime tous les éléments de IList. |
|
IList.Contains | Détermine si un élément est dans IList. |
|
IList.IndexOf | Détermine l'index d'un élément spécifique de IList. |
|
IList.Insert | Insère un élément dans IList à l'index spécifié. |
|
IList.IsFixedSize | |
|
IList.IsReadOnly | |
|
IList.Item | Obtient ou définit l'élément situé à l'index spécifié. |
|
IList.Remove | Supprime la première occurrence d'un objet spécifique de IList. |
|
IList.RemoveAt | Supprime l'élément IList au niveau de l'index spécifié. |
|
IStructuralComparable.CompareTo | Détermine si l'objet collection actuel précède, se situe à la même position que, ou suit un autre objet dans l'ordre de tri. |
|
IStructuralEquatable.Equals | Détermine si un objet est identique à l'instance actuelle. |
|
IStructuralEquatable.GetHashCode | Retourne un code de hachage pour l'instance actuelle. |
La classe Array est la classe de base pour les implémentations du langage qui prennent en charge les tableaux. Cependant, seul le système et les compilateurs peuvent dériver explicitement de la classe Array. Les utilisateurs doivent employer les constructions de tableaux fournies par le langage.
Un élément est une valeur contenue dans Array. La longueur de Array est le nombre total d'éléments qu'il peut contenir. Le rang de Array représente le nombre de dimensions dans ce Array. La limite inférieure d'une dimension de Array est l'index de départ de cette dimension de Array. Un Array multidimensionnel peut posséder différentes limites pour chaque dimension. Un tableau peut avoir un maximum de 32 dimensions.
Important
|
|---|
|
Dans le .NET Framework version 2.0, la classe Array implémente les interfaces génériques System.Collections.Generic.IList<T>, System.Collections.Generic.ICollection<T> et System.Collections.Generic.IEnumerable<T>. Les implémentations sont fournies aux tableaux au moment de l'exécution et ne sont donc pas visibles pour les outils de génération de documentation. En conséquence, les interfaces génériques n'apparaissent pas dans la syntaxe de déclaration de la classe Array et il n'existe pas de rubrique de référence pour les membres d'interface qui sont uniquement accessibles en castant un tableau en type d'interface générique (implémentations d'interface explicites). Vous devez garder à l'esprit que lorsque vous castez un tableau vers l'une de ces interfaces, ces membres qui ajoutent, insèrent ou suppriment des éléments lèvent NotSupportedException. |
Les objets Type fournissent des informations à propos des déclarations de type de tableau. Les objets Array avec le même type de tableau partagent le même objet Type.
Il se peut que Type.IsArray et Type.GetElementType ne retournent pas les résultats attendus avec Array, car si un tableau est casté en type Array, le résultat est un objet, et non pas un tableau. Cela signifie que typeof(System.Array).IsArray retourne false et que typeof(System.Array).GetElementType retourne null.
Contrairement à la plupart des classes, Array fournit la méthode CreateInstance plutôt que des constructeurs publics, permettant ainsi l'accès à liaison tardive.
La méthode Array.Copy copie les éléments non seulement entre les tableaux du même type, mais également entre les tableaux standard de types différents. Elle gère le casting de type automatiquement.
Quelques méthodes, telles que CreateInstance, Copy, CopyTo, GetValue et SetValue fournissent des surcharges qui acceptent des entiers 64 bits comme paramètres pour s'adapter à des tableaux de grande capacité. LongLength et GetLongLength retournent des entiers 64 bits qui indiquent la longueur du tableau.
Le tri du Array n'est pas garanti. Vous devez trier le Array avant d'exécuter des opérations (telles que BinarySearch) qui exigent le tri du Array.
L'utilisation d'un objet Array de pointeurs en code natif n'est pas prise en charge et ne lèvera pas d'exception NotSupportedException pour plusieurs méthodes.
L'exemple de code suivant illustre la manière dont Array.Copy copie des éléments entre un tableau de type entier et un tableau de type Object.
Public Class SamplesArray Public Shared Sub Main() ' Creates and initializes a new integer array and a new Object array. Dim myIntArray() As Integer = {1, 2, 3, 4, 5} Dim myObjArray() As Object = {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(ControlChars.NewLine + "After 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(ControlChars.NewLine + "After 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) End Sub Overloads Public Shared Sub PrintValues(myArr() As Object) Dim i As Object For Each i In myArr Console.Write(ControlChars.Tab + "{0}", i) Next i Console.WriteLine() End Sub Overloads Public Shared Sub PrintValues(myArr() As Integer) Dim i As Integer For Each i In myArr Console.Write(ControlChars.Tab + "{0}", i) Next i Console.WriteLine() End Sub End Class ' 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
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 */
using namespace System; void main1(); void main2(); void main() { main1(); Console::WriteLine(); main2(); } void PrintValues( array<Object^>^myArr ); void PrintValues( array<int>^myArr ); void main1() { // Creates and initializes a new int array and a new Object array. array<int>^myIntArray = {1,2,3,4,5}; array<Object^>^myObjArray = {26,27,28,29,30}; // Prints the initial values of both arrays. Console::WriteLine( "Initially," ); Console::Write( "int array: " ); PrintValues( myIntArray ); Console::Write( "Object array:" ); PrintValues( myObjArray ); // Copies the first two elements from the int 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 int array to the Object array," ); Console::Write( "int array: " ); PrintValues( myIntArray ); Console::Write( "Object array:" ); PrintValues( myObjArray ); // Copies the last two elements from the Object array to the int 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 int array," ); Console::Write( "int array: " ); PrintValues( myIntArray ); Console::Write( "Object array:" ); PrintValues( myObjArray ); } void PrintValues( array<Object^>^myArr ) { for ( int i = 0; i < myArr->Length; i++ ) { Console::Write( "\t{0}", myArr[ i ] ); } Console::WriteLine(); } void PrintValues( array<int>^myArr ) { for ( int i = 0; i < myArr->Length; i++ ) { Console::Write( "\t{0}", myArr[ i ] ); } Console::WriteLine(); } /* This code produces the following output. Initially, int array: 1 2 3 4 5 Object array: 26 27 28 29 30 After copying the first two elements of the int array to the Object array, int 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 int array, int array: 1 2 3 29 30 Object array: 1 2 28 29 30 */
L'exemple de code suivant crée et initialise Array, puis affiche ses propriétés ainsi que ses éléments.
Public Class SamplesArray2 Public Shared Sub Main() ' Creates and initializes a new three-dimensional Array of ' type Int32. Dim myArr As Array = Array.CreateInstance(GetType(Int32), 2, 3, 4) Dim i As Integer For i = myArr.GetLowerBound(0) To myArr.GetUpperBound(0) Dim j As Integer For j = myArr.GetLowerBound(1) To myArr.GetUpperBound(1) Dim k As Integer For k = myArr.GetLowerBound(2) To myArr.GetUpperBound(2) myArr.SetValue(i * 100 + j * 10 + k, i, j, k) Next k Next j Next i ' 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(ControlChars.Tab + "Length" + ControlChars.Tab _ + "Lower" + ControlChars.Tab + "Upper") For i = 0 To myArr.Rank - 1 Console.Write("{0}:" + ControlChars.Tab + "{1}", i, _ myArr.GetLength(i)) Console.WriteLine(ControlChars.Tab + "{0}" + ControlChars.Tab _ + "{1}", myArr.GetLowerBound(i), myArr.GetUpperBound(i)) Next i ' Displays the contents of the Array. Console.WriteLine("The Array contains the following values:") PrintValues(myArr) End Sub Public Shared Sub PrintValues(myArr As Array) Dim myEnumerator As System.Collections.IEnumerator = _ myArr.GetEnumerator() Dim i As Integer = 0 Dim cols As Integer = myArr.GetLength(myArr.Rank - 1) While myEnumerator.MoveNext() If i < cols Then i += 1 Else Console.WriteLine() i = 1 End If Console.Write(ControlChars.Tab + "{0}", myEnumerator.Current) End While Console.WriteLine() End Sub End Class ' 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
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 */
void PrintValues( Array^ myArr ); void main2() { // Creates and initializes a new three-dimensional Array instance of type Int32. Array^ myArr = Array::CreateInstance( Int32::typeid, 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 instance 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 ) ); } Console::WriteLine( "The Array instance contains the following values:" ); PrintValues( myArr ); } 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 instance 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 instance 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 */
.NET Framework
Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0.NET Framework Client Profile
Pris en charge dans : 4, 3.5 SP1Pris en charge dans :
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Cette implémentation ne fournit pas de wrapper synchronisé (thread-safe) pour un Array. Cependant, les classes .NET Framework basées sur Array fournissent leur propre version synchronisée de la collection à l'aide de la propriété SyncRoot.
L'énumération d'une collection n'est intrinsèquement pas une procédure thread-safe. Même lorsqu'une collection est synchronisée, les autres threads peuvent toujours modifier la collection, ce qui entraîne la levée d'une exception par l'énumérateur. Pour garantir la sécurité des threads lors de l'énumération, vous pouvez verrouiller la collection pour toute la durée de l'énumération ou intercepter les exceptions résultant de modifications apportées par d'autres threads.
Important