Sur les Tableaux

0 Comments
  • 08/26/2020
  • 14 minutes pour lire
    • S
    • s
    • c

Description Courte

Décrit les tableaux, qui sont des structures de données conçu pour storecollections d’éléments.

description longue

Un tableau est une structure de données conçue pour stocker une collection d’éléments.Les articles peuvent être du même type ou de types différents.

à partir de Windows PowerShell 3.,0, une collection de zéro ou un objet aquelques propriétés des tableaux.

la Création et l’initialisation d’un tableau

Pour créer et initialiser un tableau, d’attribuer plusieurs valeurs à une variable. Les valeurs stockées dans le tableau sont délimitées par une virgule et séparées du nom variable par l’opérateur d’affectation (=).,

par exemple, pour créer un tableau nommé $A qui contient les sept valeurs numériques (int) de 22, 5, 10, 8, 12, 9, et 80, tapez:

la virgule Peut également être utilisée pour initialiser un tableau d’un seul élément en plaçant thecomma avant l’élément unique.

par exemple, Pour créer un seul élément de tableau nommé $B contenant la singlevalue de 7, type:

Vous pouvez également créer et initialiser un tableau à l’aide de l’opérateur d’intervalle (..).,L’exemple suivant crée un tableau contenant les valeurs 5 à 8.

ainsi, $C contient quatre valeurs: 5, 6, 7, et 8.

lorsqu’aucun type de données n’est spécifié, PowerShell crée chaque tableau en tant qu’objectarray (System.Objet). Pour déterminer le type de données d’un tableau, utilisez la méthode GetType ()., Par exemple, pour déterminer le type de données du tableau $A, tapez:

pour créer un tableau fortement typé, c’est-à-dire un tableau pouvant contenir uniquement des valeurs d’un type particulier, convertissez la variable en type de tableau, tel questring, long ou int32. Pour lancer un tableau, précédez le nom variable avec un type de tableau entre parenthèses., Par exemple, pour créer un tableau entier a32 bits nommé $ia contenant quatre entiers (1500, 2230, 3350 et 4000), tapez:

en conséquence, le tableau $ia ne peut contenir que entiers.

Vous pouvez créer des tableaux qui sont convertis en n’importe quel type Microsoft.NET cadre. Par exemple, les objets que Get-Process récupère les processus torepresent sont du système.Diagnostic.Type de processus., Pour créer un tableau dactylographié d’objets processus, entrez la commande suivante:

l’opérateur de sous-expression de tableau

l’opérateur de sous-expression de tableau crée un tableau à partir des instructions insideit. Quelle que soit l’instruction produite à l’intérieur de l’opérateur, l’opérateur le placera dans un tableau. Même s’il y a zéro ou un objet.

La syntaxe de la matrice de l’opérateur est comme suit:

Vous pouvez utiliser la matrice de l’opérateur de créer un tableau de zéro ou un objet., Par exemple:

La matrice de l’opérateur est utile dans les scripts lorsque vous êtes obtenir des objets, mais ne pas savoir combien d’objets que vous obtenez. Par exemple:

pour plus d’informations sur l’opérateur de sous-expression de tableau, voirabout_operators.

accéder et utiliser des éléments de tableau

lire un tableau

Vous pouvez vous référer à un tableau en utilisant son nom de variable. Pour afficher tous les éléments du tableau, tapez le nom du tableau., Par exemple, en supposant que $a est un array contenant des entiers 0, 1, 2, jusqu’à 9; en tapant:

Vous pouvez vous référer aux éléments d’un tableau en utilisant un index, commençant àposition 0. Placez le numéro d’index entre parenthèses., Par exemple, pour afficher apparaître les premières dans l’élément $a array, type:

Pour afficher le troisième dans l’élément $a array, tapez:

Vous pouvez récupérer une partie de la matrice à l’aide d’un opérateur pour l’index. Par exemple, pour récupérer les deuxième à cinquième éléments du tableau, vous seriez typé:

Les nombres négatifs comptent à partir de la fin du tableau., Par exemple,  » -1  » fait référence àle dernier élément du tableau. Pour afficher les trois derniers éléments de thearray, dans l’index par ordre croissant, type:

Si vous tapez des index négatifs dans l’ordre décroissant, vos changements de sortie.

Cependant, soyez prudent lors de l’utilisation de cette notation. Les cycles de notation de la limite de fin au début du tableau.,

Vous pouvez utiliser l’opérateur plus (+) pour combiner des plages avec une liste de elementsin un tableau. Par exemple, pour afficher les éléments aux positions d’index 0, 2 ET4 à 6, tapez:

de plus, pour lister plusieurs plages et éléments individuels, vous pouvez utiliser le plusoperator., Par exemple, pour lister les éléments zéro à deux, quatre à six et l’élément au huitième type de position:

itérations sur des éléments de tableau

Vous pouvez également utiliser des constructions de boucle, telles que les boucles ForEach, For et While, pour Par exemple, pour utiliser une boucle ForEach pour afficher les éléments du tableau $a, tapez:

La boucle Foreach parcourt le tableau et renvoie chaque valeur dans le tableau jusqu’à atteindre la fin du tableau.,

la boucle For Est utile lorsque vous incrémentez des compteurs tout en examinant les éléments d’un tableau. Par exemple, Pour utiliser une boucle for pour renvoyer tous les othervalue dans un tableau, type:

Vous pouvez utiliser une boucle While pour afficher les éléments dans un tableau jusqu’à ce qu’un definedcondition n’est plus vrai., Par exemple, pour afficher les éléments dans le tableau $aalors que l’index du tableau est inférieur à 4, Tapez:

propriétés des tableaux

Count ou Length ou LongLength

Pour déterminez le nombre d’éléments dans un tableau, utilisez la propriété Length ou son aliasCount. Longlength est utile si le tableau contient plus de2,147,483,647 éléments.

Rang

Retourne le nombre de dimensions dans le tableau., La plupart des tableaux dans PowerShell ontune dimension, seulement. Même lorsque vous pensez que vous construisez un tableau multidimensionnel; comme l’exemple suivant:

l’exemple suivant montre comment créer un tableau vraiment multidimensionnel en utilisant le Framework.Net.

Méthodes de tableaux

Clear

Définit toutes les valeurs d’élément à la valeur par défaut du tableau »s type d’élément.La méthode Clear() ne réinitialise pas la taille du tableau.,

Dans l’exemple suivant: $a est un tableau d’objets.

Dans cet exemple, la balise $intA est explicitement tapé à contenir des nombres entiers.

ForEach

Permet d’itérer sur tous les éléments du tableau et effectuer un operationfor chaque élément de la matrice.

la méthode ForEach a plusieurs surcharges qui effectuent différentes opérations.,

ForEach(scriptblock expression)

ForEach(scriptblock expression, objet arguments)

Cette méthode a été ajouté dans PowerShell v4.

Remarque

La syntaxe nécessite l’utilisation d’un bloc de script. Les parenthèses sont facultatives sile scriptblock est le seul paramètre. En outre, il ne doit pas y avoir d’espaceentre la méthode et la parenthèse ou l’Accolade d’ouverture.

L’exemple suivant montre comment utiliser la méthode foreach. Dans ce cas, theintent est de générer la valeur carrée des éléments dans le tableau.,

tout comme la balise -ArgumentList paramètre de ForEach-Object, le argumentsparamètre permet le passage d’un tableau d’arguments d’un script blockconfigured de les accepter.

Pour plus d’informations sur le comportement D’ArgumentList, voirabout_splatting.,

ForEach(type convertToType)

Le ForEach méthode peut être utilisée pour rapidement jeté les éléments d’un differenttype; l’exemple suivant montre comment convertir une liste de chaîne de dates de type.

ForEach(string propertyName)

ForEach(string propertyName, objet newValue)

Le ForEach méthode peut également être utilisé pour récupérer rapidement, ou un ensemble propertyvalues pour chaque élément de la collection.,

ForEach(string methodName)

ForEach(string methodName, objet arguments)

Enfin, ForEach méthodes peuvent être utilisées pour exécuter une méthode sur chaque élément dans la collection.

tout comme la balise -ArgumentList paramètre de ForEach-Object, le argumentsparamètre permet le passage d’un tableau d’arguments d’un script blockconfigured de les accepter.

Remarque

à partir de Windows PowerShell 3.,0 la récupération des propriétés et l’exécution des méthodes pour chaque élément d’une collection peuvent également être effectuées à l’aide de « Methodsof scalar objects and collections » vous pouvez en savoir plus à ce sujet iciabout_methods.

Permet de filtrer ou de sélectionner les éléments du tableau. Le script doit évaluer quelque chose de différent que: zero (0), chaîne vide, $false ou $null pour l’élément à afficher après le Where

Il existe une définition pour le Where div > méthode.,

Remarque

La syntaxe nécessite l’utilisation d’un bloc de script. Les parenthèses sont facultatives sile scriptblock est le seul paramètre. En outre, il ne doit pas y avoir d’espaceentre la méthode et la parenthèse ou l’Accolade d’ouverture.

LeExpressionest un scriptblock requis pour le filtrage, l’argument optionnelmodepermet des capacités de sélection supplémentaires et l’argument optionnelnumberToReturn permet de limiter le nombre d’éléments renvoyés par le filtre.,p>les valeurs acceptables pour mode sont:

  • Default (0) – Return all items
  • First (1) – Return the first item
  • Last (2) – Return the last item
  • SkipUntil (3) – Skip items until condition is true, the return the remainingitems
  • Until (4) – Return all items until condition is True
  • Split (5) – retourne un tableau de deux éléments
    • le premier élément contient les éléments correspondants
    • le deuxième élément contient les éléments restants

l’exemple suivant montre comment sélectionner tous les nombres impairs du tableau.,

Cet exemple montre comment sélectionner les chaînes qui ne sont pas vides.

par Défaut

Le Default mode de filtres à éléments à l’aide de la balise Expression scriptblock.

Si unnumberToReturn est fourni, il spécifie le nombre maximal d’éléments à renvoyer.,

Remarque

le modeDefault et le modeFirst renvoient les premiers éléments (numberToReturn) et peuvent être utilisés de manière interchangeable.

Last

SkipUntil

le modeSkipUntil ignore tous les objets d’une collection jusqu’à ce qu’un objet passe le filtre d’expression de bloc de script. Il renvoie ensuite tous les collectionitems restants sans les tester. Un seul élément de passage est testé.

cela signifie que la collection renvoyée contient à la fois des éléments passant et non passant qui n’ont pas été testés.,

le nombre d’éléments retournés peut être limité en passant une valeur à l’argumentnumberToReturn.

Jusqu’à

Le Until mode inverse la SkipUntil mode. Il renvoie tous les éléments dans acollection jusqu’à ce qu’un élément passe l’expression de bloc de script. Une fois qu’un itempasse l’expression scriptblock, la méthode Where cesse de traiter les éléments.

cela signifie que vous recevez le premier ensemble d’éléments qui ne passent pas de la méthodeWhere., Après le passage d’un article, les autres ne sont pas testés ou retournés.

le nombre d’éléments retournés peut être limité en passant une valeur à l’argumentnumberToReturn.

Remarque

les Deux Until et SkipUntil fonctionner en vertu du principe de ne PAS tester un batchof éléments.

Until renvoie les éléments avant la première passe.

SkipUntil renvoie tous les éléments après le premier passage, y compris le premier passage.,

Split

le modeSplit divise ou regroupe les éléments de collection en deux separatecollections. Ceux qui passent l’expression scriptblock, et ceux qui ne le font pas.

Si unnumberToReturn est spécifié, la première collection, contient les éléments de passage, pour ne pas dépasser la valeur spécifiée.

Les objets restants, même ceux qui passent le filtre d’expression, arereturned dans la deuxième collection.,

Obtenir les membres d’un tableau

Pour obtenir les propriétés et méthodes d’un tableau, comme la Longueur de la propriété et méthode SetValue, utilisez le paramètre InputObject de la balise Get-Memberapplet de commande.

lorsque vous dirigez un tableau versGet-Member, PowerShell envoie les éléments à une heure etGet-Member renvoie le type de chaque élément du tableau (ignoringduplicates).

lorsque vous utilisez le paramètre InputObject,Get-Member renvoie les membres du tableau.,

Par exemple, la commande suivante obtient les membres de la balise $a arrayvariable.

Vous pouvez également obtenir les membres d’un tableau en tapant une virgule (,) avant la valeur qui est acheminée vers l’applet de commandeGet-Member. La virgule rend le tableau thesecond élément dans un tableau de tableaux. PowerShell canalise les tableaux un à un et Get-Member renvoie les membres du tableau. Comme les deux suivantsexemples.,

la Manipulation d’un tableau

Vous pouvez modifier les éléments d’un tableau, d’ajouter un élément à un tableau, andcombine les valeurs à partir de deux tableaux dans un troisième tableau.

Pour modifier la valeur d’un élément particulier dans un tableau, spécifiez le arrayname et l’index de l’élément que vous souhaitez modifier, puis utilisez theassignment opérateur (=) pour définir une nouvelle valeur pour l’élément., Par exemple,pour modifier la valeur du deuxième élément dans la balise $a array (indice de position 1) à 10, type:

Vous pouvez également utiliser la méthode SetValue d’un tableau pour modifier une valeur. L’exemple suivant modifie la deuxième valeur (position d’index 1) de l’opérateur $a arrayto 500:

Vous pouvez utiliser l’opérateur += pour ajouter un élément à un tableau. L’exemple suivant montre comment ajouter un élément au tableau $a.,

Remarque

lorsque vous utilisez l’opérateur+=, PowerShell crée en fait un nouveau tableau avec les valeurs du tableau d’origine et la valeur ajoutée. Cela peut causer des problèmes de performances si l’opération est répétée plusieurs fois ou si la taille du tableau est trop grande.

Il n’est pas facile de supprimer des éléments d’un tableau, mais vous pouvez créer un newarray qui contient uniquement les éléments sélectionnés d’un tableau existant., Par exemple,pour créer le tableau $t avec tous les éléments du tableau $a à l’exception de la valeur à la position d’index 2, Tapez:

pour combiner deux tableaux en un seul tableau, utilisez l’opérateur plus (+). L’exemple suivant crée deux tableaux, les combine, puis affiche le tableau combiné.

en conséquence, le $z array contient 1, 3, 5 et 9.,

pour supprimer un tableau, attribuez une valeur de$null au tableau. La commande suivante supprime le tableau dans la variable $a.

$a = $null

Vous pouvez également utiliser la balise Remove-Item applet de commande, mais l’attribution d’une valeur de $null isfaster, en particulier pour les grands tableaux.

tableaux de zéro ou un

à partir de Windows PowerShell 3.0, une collection de zéro ou un objet a la propriété Count et Length. En outre, vous pouvez indexer dans un tableau de oneobject., Cette fonctionnalité vous aide à éviter les erreurs de script qui se produisent lorsqu’une commande qui s’attend à ce qu’une collection reçoive moins de deux éléments.

Les exemples suivants illustrent cette fonctionnalité.

Zéro objets

Un objet

l’Indexation de soutien pour le Système.Objets Tuple

PowerShell 6.1 a ajouté la prise en charge de l’accès indexé des objets Tuple, similaire aux tableaux.,Par exemple:

Contrairement aux tableaux et autres objets de collection, Les objets Tuple sont traités comme un objet unique lorsqu’ils sont passés à travers le pipeline ou par des paramètres qui prennent en charge les réseaux d’objets.

pour plus d’informations, voir système.Tuple.

Voir aussi

  • about_Assignment_Operators
  • about_Hash_Tables
  • about_Operators
  • about_For
  • about_Foreach
  • about_While


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *