Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Catatan editorial
Penting
Windows PowerShell Language Specification 3.0 diterbitkan pada Desember 2012 dan didasarkan pada Windows PowerShell 3.0. Spesifikasi ini tidak mencerminkan status PowerShell saat ini. Tidak ada rencana untuk memperbarui dokumentasi ini untuk mencerminkan status saat ini. Dokumentasi ini disajikan di sini untuk referensi historis.
Dokumen spesifikasi tersedia sebagai dokumen Microsoft Word dari Pusat Unduhan Microsoft di: https://www.microsoft.com/download/details.aspx?id=36389 Dokumen Word telah dikonversi untuk presentasi di sini di Microsoft Learn. Selama konversi, beberapa perubahan editorial telah dilakukan untuk mengakomodasi pemformatan untuk platform Dokumen. Beberapa kesalahan ketik dan kesalahan kecil telah dikoreksi.
Sintaksis:
Tips
Notasi ~opt~
dalam definisi sintaks menunjukkan bahwa entitas leksikal bersifat opsional dalam sintaks.
hash-literal-expression:
@{ new-lines~opt~ hash-literal-body~opt~ new-lines~opt~ }
hash-literal-body:
hash-entry
hash-literal-body statement-terminators hash-entry
hash-entry:
key-expression = new-lines~opt~ statement
key-expression:
simple-name
unary-expression
statement-terminator:
;
new-line-character
10.1 Pengantar
Jenis Hashtable mewakili kumpulan pasangan kunci/nilai objek yang mendukung pengambilan nilai yang efisien saat diindeks oleh kunci. Setiap pasangan kunci/nilai adalah elemen , yang disimpan dalam beberapa jenis objek yang ditentukan implementasi.
Kunci elemen tidak boleh berupa nilai null. Tidak ada batasan pada jenis kunci atau nilai. Kunci duplikat tidak didukung.
Mengingat objek pasangan kunci/nilai, kunci dan nilai terkait dapat diperoleh dengan menggunakan properti instans Kunci dan Nilai.
Diberikan satu atau beberapa kunci, nilai yang sesuai dapat diakses melalui operator subskrip Hashtable []
(§7.1.4.3).
Semua Hashtable memiliki jenis Hashtable
(§4.3.3).
Urutan kunci dalam koleksi yang dikembalikan oleh Kunci tidak ditentukan; namun, urutannya sama dengan nilai terkait dalam koleksi yang dikembalikan oleh Nilai.
Berikut adalah beberapa contoh yang melibatkan Hashtable:
$h1 = @{ FirstName = "James"; LastName = "Anderson"; IDNum = 123 }
$h1.FirstName # designates the key FirstName
$h1["LastName"] # designates the associated value for key LastName
$h1.Keys # gets the collection of keys
10.2 Pembuatan hashtable
Hashtable
dibuat melalui literal hash (§7.1.9) atau cmdlet New-Object. Ini dapat dibuat dengan nol atau lebih elemen. Properti Count mengembalikan jumlah elemen saat ini.
10.3 Menambahkan dan menghapus elemen Hashtable
Elemen dapat ditambahkan ke Hashtable
dengan menetapkan (§7.11.1) nilai ke nama kunci yang tidak ada atau ke subskrip (§7.1.4.3) yang menggunakan nama kunci yang tidak ada. Penghapusan elemen memerlukan penggunaan metode Hapus. Misalnya
$h1 = @{ FirstName = "James"; LastName = "Anderson"; IDNum = 123 }
$h1.Dept = "Finance" # adds element Finance
$h1["Salaried"] = $false # adds element Salaried
$h1.Remove("Salaried") # removes element Salaried
10.4 Penggabungan Hashtable
Hashtable dapat digabungkan melalui operator +
dan +=
, yang keduanya menghasilkan pembuatan Hashtable
baru. Hashtable yang ada tidak berubah. Lihat
10.5 Tabel Hash sebagai tipe referensi
Karena Hashtable
adalah jenis referensi, penugasan Hashtable
melibatkan salinan dangkal; artinya, variabel yang ditetapkan untuk mengacu pada Hashtable
yang sama; tidak ada salinan Hashtable
yang dibuat. Misalnya
$h1 = @{ FirstName = "James"; LastName = "Anderson"; IDNum = 123 }
$h2 = $h1
$h1.FirstName = "John" # change key's value in $h1
$h2.FirstName # change is reflected in $h2
10.6 Menghitung melalui Hashtable
Untuk memproses setiap pasangan dalam
$h1 = @{ FirstName = "James"; LastName = "Anderson"; IDNum = 123}
foreach ($e in $h1.Keys) {
"Key is " + $e + ", Value is " + $h1[$e]
}