PowerShell - Hashtable

PowerShell - Hashtable

#### Hashtable
#array

$numbers = 1..9
$numbers
$numbers[4]

#Hashtable
#1st Approach
$HT = @{}

#2nd Approach
$HT = @{
Tony = 30
Rony = 40
Sam = 35
}

$HT

# 3rd Approach -Inline
$HT = @{Tony = 30;Rony = 40; Sam = 35}
$HT

## Ordered Hashtable
$HT = [Ordered]@{Tony = 30;Rony = 40; Sam = 35}
$HT

#### Adding key and value to a HT
# Method 1
$HT.Add("Sony", 33)
$HT

# Method 2
$HT["Rohan"] = 25
$HT

# Method 3
$HT."Ramesh" = 20
$HT

# Method 4
$HT = $HT + @{"Rohit" = 21}
$HT

# Accessing the Paris out of HashTable

# Approach 1 - Index Key
$HT["Sony"]

# Approach 2 - Multiple
$HT["Sony", "Rohan"]

# Approach 3 - All the Values of All the Keys
$HT.Keys
$HT.Values
$HT.Sony

$HT.33
$HT|Measure-Object
$HT.GetEnumerator()|gm
$HT|gm
$HT.GetEnumerator()|where{$_.value -eq 33}

#### Iteration against each item of a Hashtable

foreach($entry in $HT)
{"The age of $HT.key is $HT.Value"} # Got error

# Approach 1
$HTKeys = $HT.Keys
foreach($prashant in $HTKeys)
{"The age of $prashant is $($HT.$prashant)"}

# Approach 2 - Enumeration

foreach($prashant in $HT.GetEnumerator())
{"The age of $($prashant.name) is $($prashant.Value)"}

# Making Conditions and Logics Using Hashtable
$HT.Keys -like "Sony"

$HT = @{
Tony = 30
Rony = 40
Sam = 35
}

$HT.ContainsKey("Tony")
$HT.ContainsValue(33)

# Removing Key Values from Hashtable
$HT.Remove("Rony")
$HT
$HT.Clear()
$HT

### Custom Colom Name
$HT
$HT|ft name,@{Name = "age"; expression = {$_.Value}}

## Sorting HT

$HT|Sort-Object -Property Name
$HT.GetEnumerator() | Sort-Object -Property Name

# Table with Multiple Coloms

$HT = @{
"Type" = "Car"
"Color" = "Red"
"Brand" = "Maruti"
}
$HT

$HT = [PsCustomObject]@{
"Type" = "Car"
"Color" = "Red"
"Brand" = "Maruti"
}
$HT | export-csv .\abc.csv

image-20220110113024107

posted @ 2022-01-10 11:32  晨风_Eric  阅读(47)  评论(0编辑  收藏  举报