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