Comment créer un tableau vide de tableaux en PowerShell

  1. Comprendre les tableaux dans PowerShell
  2. Comment créer un tableau vide de tableaux dans PowerShell en utilisant l’opérateur de sous-expression de tableau @()
  3. Comment créer un tableau vide de tableaux dans PowerShell en utilisant la cmdlet New-Object avec la classe System.Collections.ArrayList
  4. Comment créer un tableau vide de tableaux dans PowerShell en utilisant la table de hachage @{}
  5. Conclusion
Comment créer un tableau vide de tableaux en PowerShell

PowerShell, avec ses capacités de script polyvalentes, offre plusieurs façons de créer et de manipuler des tableaux.

Une exigence courante est de créer un tableau vide qui peut contenir d’autres tableaux. Ce scénario se présente souvent lorsque vous devez organiser des données dans une structure multidimensionnelle.

Dans cet article, nous allons explorer différentes méthodes pour créer un tableau vide de tableaux dans PowerShell.

Comprendre les tableaux dans PowerShell

Avant de plonger dans la création d’un tableau vide de tableaux, il est crucial de comprendre les bases des tableaux dans PowerShell. Un tableau dans PowerShell est une structure de données qui stocke une collection d’éléments.

Ces éléments peuvent être de n’importe quel type de données, et les tableaux peuvent redimensionner dynamiquement pour accueillir de nouveaux éléments au besoin. PowerShell fournit plusieurs façons de travailler avec les tableaux, y compris la création, l’accès et la modification de leur contenu.

Voici un exemple de base de création d’un tableau dans PowerShell :

$myArray = @(1, 2, 3, 4, 5)
$myArray

Dans cet exemple, $myArray est assigné à un tableau contenant cinq entiers.

Sortie :

Tableaux dans PowerShell

Dans PowerShell, les tableaux peuvent contenir des éléments de tout type, y compris d’autres tableaux. Un tableau de tableaux, également connu sous le nom de tableau en escalier, est une structure de données qui consiste en plusieurs tableaux, où chaque élément du tableau principal contient un autre tableau.

Cette structure vous permet de stocker des données hétérogènes dans un format multidimensionnel, facilitant la gestion et l’accès aux éléments en fonction de différents critères.

Les tableaux dans PowerShell sont indexés à partir de zéro, ce qui signifie que le premier élément est accessible en utilisant l’index 0, le deuxième élément en utilisant l’index 1, et ainsi de suite. Les tableaux PowerShell peuvent se redimensionner dynamiquement, permettant une flexibilité dans la gestion des données.

Comment créer un tableau vide de tableaux dans PowerShell en utilisant l’opérateur de sous-expression de tableau @()

L’opérateur de sous-expression de tableau @() est un outil polyvalent dans PowerShell qui peut être utilisé pour diverses opérations sur les tableaux, y compris la création de tableaux vides. Lorsqu’il est utilisé pour créer un tableau vide de tableaux, il initialise un conteneur de tableaux capable de contenir d’autres tableaux en tant qu’éléments.

En utilisant cet opérateur avec la virgule , pour séparer les éléments, nous pouvons construire une structure de tableau où chaque élément est lui-même un tableau.

Voyons un exemple de code pour illustrer comment créer un tableau vide de tableaux en utilisant l’opérateur de sous-expression de tableau @().

$arrayOfArrays = @()

Ici, nous initialisons un tableau vide nommé $arrayOfArrays en utilisant l’opérateur de sous-expression de tableau @(). Cela crée un conteneur de tableaux vide capable de contenir d’autres tableaux.

Comme aucun élément n’est fourni dans l’opérateur @(), le tableau résultant est vide.

Ajouter des tableaux au tableau vide

Une fois que vous avez créé le tableau vide de tableaux, vous pouvez y ajouter des tableaux individuels en tant qu’éléments. Cela se fait couramment en utilisant l’opérateur +=, qui ajoute un élément à un tableau existant :

$arrayOfArrays += , (1, 2, 3)
$arrayOfArrays += , (4, 5)
$arrayOfArrays += , (6, 7, 8, 9)

Write-Host "First Array:"
$arrayOfArrays[0]

Write-Host "Second Array:"
$arrayOfArrays[1]

Write-Host "Third Array:"
$arrayOfArrays[2]

Dans ce segment de code, nous ajoutons des sous-tableaux au $arrayOfArrays. Pour s’assurer que chaque sous-tableau est traité comme un seul élément, nous le précédons d’une virgule ,.

Cela empêche PowerShell de concaténer les sous-tableaux en un seul tableau. Chaque sous-tableau est entouré de parenthèses et séparé par des virgules.

Nous ajoutons trois sous-tableaux de longueurs variées pour démontrer la flexibilité.

Enfin, nous affichons le contenu de $arrayOfArrays pour vérifier sa structure et son contenu. PowerShell affiche le tableau, montrant chaque élément comme un sous-tableau séparé.

Sortie du code :

Tableau vide de tableaux dans PowerShell en utilisant @()

La sortie montre que $arrayOfArrays est en effet un tableau contenant plusieurs sous-tableaux, chacun contenant un ensemble de valeurs distinct. Cela confirme la création réussie d’un tableau vide de tableaux en utilisant l’opérateur de sous-expression de tableau @() dans PowerShell.

Comment créer un tableau vide de tableaux dans PowerShell en utilisant la cmdlet New-Object avec la classe System.Collections.ArrayList

Une autre approche que nous pouvons utiliser pour créer un tableau vide de tableaux pour stocker des données structurées est la cmdlet New-Object en conjonction avec la classe System.Collections.ArrayList.

La classe System.Collections.ArrayList dans PowerShell fournit une structure de données semblable à un tableau flexible et dynamique. En utilisant la cmdlet New-Object, nous pouvons instancier une instance de cette classe pour créer un tableau vide.

Ensuite, nous pouvons ajouter des sous-tableaux en tant qu’éléments à ce tableau de tableaux. Cette approche permet un redimensionnement dynamique et une gestion efficace des tableaux, la rendant adaptée à divers scénarios de script.

Voyons comment nous pouvons créer un tableau vide de tableaux en utilisant cette approche :

$arrayOfArrays = New-Object System.Collections.ArrayList

Ici, nous utilisons la cmdlet New-Object pour instancier une nouvelle instance de la classe System.Collections.ArrayList. Cela crée un conteneur de tableaux vide capable de contenir d’autres tableaux.

La variable $arrayOfArrays fait maintenant référence à cet objet ArrayList vide.

Accéder aux éléments du tableau de tableaux

Après avoir créé le tableau vide, nous pouvons maintenant accéder et manipuler ses éléments au besoin :

$arrayOfArrays.Add(@(11, 12, 13))
$arrayOfArrays.Add(@(14, 15))
$arrayOfArrays.Add(@(16, 17, 18, 19))

Write-Host "First Array:"
$arrayOfArrays[0]

Write-Host "Second Array:"
$arrayOfArrays[1]

Write-Host "Third Array:"
$arrayOfArrays[2]

Dans ce segment de code, nous ajoutons des sous-tableaux à l’objet $arrayOfArrays ArrayList. Nous utilisons la méthode .Add() de l’objet ArrayList pour ajouter des sous-tableaux au tableau.

Chaque sous-tableau est entouré de @() pour s’assurer qu’il est traité comme un seul élément. Nous ajoutons trois sous-tableaux de longueurs variées pour montrer la flexibilité de cette approche.

Enfin, nous affichons le contenu de l’objet $arrayOfArrays ArrayList pour vérifier sa structure et son contenu. PowerShell affiche l’ ArrayList, montrant chaque élément comme un sous-tableau séparé.

Sortie du code :

Tableau vide de tableaux dans PowerShell utilisant New-Object avec System.Collections.ArrayList

La sortie confirme que $arrayOfArrays est un ArrayList contenant plusieurs sous-tableaux, chacun contenant des ensembles de valeurs distincts. Cela démontre la création réussie d’un tableau vide de tableaux en utilisant la cmdlet New-Object avec la classe System.Collections.ArrayList dans PowerShell.

Comment créer un tableau vide de tableaux dans PowerShell en utilisant la table de hachage @{}

Dans PowerShell, les tables de hachage (@{}) offrent un moyen pratique de stocker des paires clé-valeur. Bien qu’elles soient généralement utilisées pour des paires clé-valeur, nous pouvons également utiliser des tables de hachage pour créer un tableau vide de tableaux en associant chaque clé à un tableau vide.

Cette méthode offre une structure organisationnelle claire pour gérer plusieurs tableaux et permet un accès et une manipulation faciles des éléments de tableau.

Voici comment créer un tableau vide de tableaux en utilisant la syntaxe de table de hachage @{} :

$arrayOfArrays = @{}

Ajouter des éléments au tableau de tableaux

Maintenant que nous avons créé le tableau vide de tableaux en utilisant l’approche de table de hachage, nous pouvons accéder et manipuler ses éléments selon nos besoins :

$arrayOfArrays["Array1"] += @(1, 2, 3)
$arrayOfArrays["Array2"] += @(4, 5)
$arrayOfArrays["Array3"] += @(6, 7, 8, 9)
$arrayOfArrays

Dans ce segment de code, nous ajoutons des sous-tableaux aux tableaux vides à l’intérieur de $arrayOfArrays. Nous utilisons l’indexation des tableaux pour accéder à chaque tableau vide par sa clé ("Array1", “Array2”, “Array3”) puis ajoutons des sous-tableaux en utilisant l'opérateur +=`.

Chaque sous-tableau est entouré de @() pour s’assurer qu’il est traité comme un seul élément.

Enfin, nous affichons le contenu de la table de hachage $arrayOfArrays pour vérifier sa structure et son contenu. PowerShell affiche la table de hachage, montrant chaque paire clé-valeur, où les valeurs sont des tableaux contenant des sous-tableaux.

Sortie du code :

Tableau vide de tableaux dans PowerShell en utilisant @{}

La sortie confirme que $arrayOfArrays est une table de hachage contenant trois clés ("Array1" , "Array2", "Array3"), chacune associée à un tableau contenant des ensembles de valeurs distincts.

Conclusion

En conclusion, créer un tableau vide de tableaux dans PowerShell offre polyvalence et flexibilité pour gérer des structures de données complexes dans les tâches de script et d’automatisation.

Nous avons exploré trois méthodes distinctes pour y parvenir : en utilisant l’opérateur de sous-expression de tableau @(), la cmdlet New-Object avec la classe System.Collections.ArrayList, et la syntaxe de table de hachage @{}. Chaque méthode présente ses avantages et considérations, répondant à différentes préférences et exigences.

L’opérateur de sous-expression de tableau @() offre une approche concise et directe, tirant parti de la syntaxe native de PowerShell pour créer efficacement des tableaux vides. Pendant ce temps, la cmdlet New-Object avec la classe System.Collections.ArrayList propose des capacités de redimensionnement dynamique et de gestion, adaptées aux scénarios nécessitant une manipulation fréquente des tableaux.

Enfin, réutiliser la syntaxe de table de hachage @{}, bien que non conventionnelle, offre simplicité et lisibilité dans certains contextes.

Quelle que soit la méthode choisie, maîtriser la création de tableaux vides de tableaux équipe les utilisateurs de PowerShell de compétences essentielles pour développer des scripts et une automatisation robustes.

Vous aimez nos tutoriels ? Abonnez-vous à DelftStack sur YouTube pour nous aider à créer davantage de tutoriels vidéo de haute qualité. Abonnez-vous
Auteur: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Article connexe - PowerShell Array