We are no longer accepting contributions to Documentation. Please see our post on meta.

PowerShell

HashTables All Versions

1.0
2.0
3.0
4.0
5.0
5.1
A Hash Table is a structure which maps keys to values. See Hash Table for details.

This draft deletes the entire topic.

Examples

  • 3

    An example of defining a hash table and accessing a value by the key

    $hashTable = @{
        Key1 = 'Value1'
        Key2 = 'Value2'
    }
    $hashTable.Key1
    #output
    Value1
    

    An example of accessing a key with invalid characters for a property name:

    $hashTable = @{
        'Key 1' = 'Value3'
        Key2 = 'Value4'
    }
    $hashTable.'Key 1'
    #Output
    Value3
    
  • 2

    An example, to add a "Key2" key with a value of "Value2" to the hash table, using the addition operator:

    $hashTable = @{
        Key1 = 'Value1'
    }
    $hashTable += @{Key2 = 'Value2'}
    $hashTable
    
    #Output
    
    Name                           Value
    ----                           -----
    Key1                           Value1
    Key2                           Value2
    

    An example, to add a "Key2" key with a value of "Value2" to the hash table using the Add method:

    $hashTable = @{
        Key1 = 'Value1'
    }
    $hashTable.Add("Key2", "Value2")
    $hashTable
    
    #Output
    
    Name                           Value
    ----                           -----
    Key1                           Value1
    Key2                           Value2
    
  • 2

    Example of creating an empty HashTable:

    $hashTable = @{}
    

    Example of creating a HashTable with data:

    $hashTable = @{
        Name1 = 'Value'
        Name2 = 'Value'
        Name3 = 'Value3'
    }
    
  • 0

    Enumerating through Keys

    foreach ($key in $var1.Keys) {
        $value = $var1[$key]
        # or
        $value = $var1.$key 
    }
    

    Enumerating through Key-Value Pairs

    foreach ($keyvaluepair in $var1.GetEnumerator()) {
        $key1 = $_.Key1
        $val1 = $_.Val1
    }
    
  • 0
    $hashTable = @{
        Key1 = 'Value1'
        Key2 = 'Value2'
    }
    
    foreach($key in $hashTable.Keys)
    {
        $value = $hashTable.$key
        Write-Output "$key : $value"
    }
    #Output
    Key1 : Value1
    Key2 : Value2
    
  • 0

    An example, to remove a "Key2" key with a value of "Value2" from the hash table, using the remove operator:

    $hashTable = @{
        Key1 = 'Value1'
        Key2 = 'Value2'
    }
    $hashTable.Remove("Key2", "Value2")
    $hashTable
    
    #Output
    
    Name                           Value
    ----                           -----
    Key1                           Value1
    
Please consider making a request to improve this example.

Syntax

Syntax

Parameters

Parameters

Remarks

An important concept which relies on Hash Tables is Splatting. It is very useful for making a large number of calls with repetitive parameters.

Still have a question about HashTables? Ask Question

Topic Outline


    We are no longer accepting contributions to Documentation. Drafts cannot be modified.