Powershell - Bảng băm

Hashtable lưu trữ các cặp khóa / giá trị trong một bảng băm. Khi sử dụng Hashtable, bạn chỉ định một đối tượng được sử dụng làm khóa và giá trị mà bạn muốn liên kết với khóa đó. Nói chung, chúng tôi đã sử dụng Chuỗi hoặc số làm khóa.

Hướng dẫn này giới thiệu cách khai báo biến bảng băm, tạo bảng băm và xử lý bảng băm bằng các phương thức của nó.

Khai báo các biến bảng băm

Để sử dụng bảng băm trong một chương trình, bạn phải khai báo một biến để tham chiếu bảng băm. Đây là cú pháp để khai báo một biến bảng băm:

Cú pháp

$hash = @{ ID = 1; Shape = "Square"; Color = "Blue"}
or
$hash = @{}

Note- Từ điển có thứ tự có thể được tạo bằng cú pháp tương tự. Các từ điển có thứ tự duy trì thứ tự mà các mục được thêm vào trong khi các hashtable thì không.

Thí dụ

Các đoạn mã sau là ví dụ về cú pháp này:

$hash = [ordered]@{ ID = 1; Shape = "Square"; Color = "Blue"}

In bảng băm.

$hash

Đầu ra

Name                           Value    
----                           -----                                                    
ID                             1                                                        
Color                          Blue                                                     
Shape                          Square

Các giá trị bảng băm được truy cập thông qua keys.

> $hash["ID"]
 1

Xử lý Hashtable

Ký hiệu dấu chấm có thể được sử dụng để truy cập các khóa hoặc giá trị của bảng băm.

> $hash.keys
ID
Color
Shape

> $hash.values
1
Blue
Square

Thí dụ

Dưới đây là một ví dụ hoàn chỉnh cho thấy cách tạo, khởi tạo và xử lý bảng băm -

$hash = @{ ID = 1; Shape = "Square"; Color = "Blue"}

write-host("Print all hashtable keys")
$hash.keys

write-host("Print all hashtable values")
$hash.values

write-host("Get ID")
$hash["ID"]

write-host("Get Shape")
$hash.Number

write-host("print Size")
$hash.Count

write-host("Add key-value")
$hash["Updated"] = "Now"

write-host("Add key-value")
$hash.Add("Created","Now")

write-host("print Size")
$hash.Count

write-host("Remove key-value")
$hash.Remove("Updated")

write-host("print Size")
$hash.Count

write-host("sort by key")
$hash.GetEnumerator() | Sort-Object -Property key

Điều này sẽ tạo ra kết quả sau:

Đầu ra

Print all hashtable keys
ID
Color
Shape
Print all hashtable values
1
Blue
Square
Get ID
1
Get Shape
print Size
3
Add key-value
Add key-value
print Size
5
Remove key-value
print Size
4
sort by key

Name                           Value                                                                                                   
----                           -----                                                                                                   
Color                          Blue                                                                                                    
Created                        Now                                                                                                     
ID                             1                                                                                                       
Shape                          
Square