Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Editörün notu
Önemli
Windows PowerShell Dil Belirtimi 3.0 Aralık 2012'de yayımlanmıştır ve Windows PowerShell 3.0'ı temel alır. Bu belirtim PowerShell'in geçerli durumunu yansıtmaz. Bu belgeleri geçerli durumu yansıtacak şekilde güncelleştirme planı yoktur. Bu belgeler, geçmişe yönelik başvuru için burada sunulmuştur.
Belirtim belgesi, Şu konumdaki Microsoft İndirme Merkezi'nden bir Microsoft Word belgesi olarak kullanılabilir: https://www.microsoft.com/download/details.aspx?id=36389 Bu Word belgesi burada Microsoft Learn'de sunu için dönüştürülmüştür. Dönüştürme sırasında, Docs platformu için biçimlendirmeye uyum sağlamak için bazı editoryal değişiklikler yapılmıştır. Bazı yazım hataları ve küçük hatalar düzeltildi.
Sözdizimi:
Bahşiş
Söz dizimi tanımlarındaki ~opt~ gösterimi söz diziminde sözcüksel varlığın isteğe bağlı olduğunu gösterir.
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 Giriş
Hashtable türü, anahtar tarafından dizine bir değerin verimli alınmasını destekleyen nesnelerden oluşan bir anahtar/değer çifti koleksiyonunu temsil eder. Her anahtar/değer çifti, uygulama tanımlı nesne türlerinde depolananbir
Öğenin anahtarı null değer olamaz. Anahtar veya değer türüyle ilgili herhangi bir kısıtlama yoktur. Yinelenen anahtarlar desteklenmez.
Anahtar/değer çifti nesnesi verildiğinde anahtar ve ilişkili değer sırasıyla Anahtar ve Değer örnek özellikleri kullanılarak elde edilebilir.
Bir veya daha fazla anahtar verildiğinde, karşılık gelen değerlere Hashtable alt indis işleci [] (§7.1.4.3) üzerinden erişilebilir.
Tüm Hashtable'ların türü Hashtable (§4.3.3).
Anahtarlar tarafından döndürülen koleksiyondaki anahtarların sırası belirtilmemiştir; ancak, Değerler tarafından döndürülen koleksiyondaki ilişkili değerlerle aynı sıradadır.
Hashtable'larla ilgili bazı örnekler aşağıda verilmiştir:
$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
Hashtable öğeleri DictionaryEntrytüründe bir nesnede depolanır ve Anahtarlar ve Değerler tarafından döndürülen koleksiyonlar ICollection türüne sahiptir.
10.2 Hashtable oluşturma
Hashtable bir karma değişmez değeri (§7.1.9) veya New-Object cmdlet'i aracılığıyla oluşturulur. Sıfır veya daha fazla öğeyle oluşturulabilir. Count özelliği geçerli öğe sayısını döndürür.
10.3 Hashtable öğelerini ekleme ve kaldırma
Hashtable'a, var olmayan bir anahtar adına veya var olmayan bir anahtar adı kullanan bir alt simgeye (§7.1.4.3) bir değer atanarak (§7.11.1) bir öğe eklenebilir. Bir öğenin kaldırılması için Remove yönteminin kullanılması gerekir. Mesela
$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 Hashtablo birleştirme
Karma tablolar, + ve += işleçleri aracılığıyla birleştirilebilir, bu işleçler her ikisi de yeni bir Hashtableoluşturur. Mevcut Hashtable'lar değiştirilmez. Daha fazla bilgi için bkz. §7.7.4
10.5 Başvuru Türleri Olarak Karma Tablolar
Hashtable bir başvuru türü olduğundan, Hashtable ataması basit bir kopyasını içerir; yani, atanan değişken, aynı Hashtable'ye başvurur; Hashtable kopyası yapılmaz. Mesela
$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 Hashtable üzerinde listeleme
bir Hashtableiçindeki her çifti işlemek için Anahtarları özelliğini kullanarak anahtarların listesini bir dizi olarak alın ve ardından Value özelliği veya alt indis aracılığıyla ilişkili değeri alan dizinin öğelerine aşağıda gösterildiği gibi numaralandırın
$h1 = @{ FirstName = "James"; LastName = "Anderson"; IDNum = 123}
foreach ($e in $h1.Keys) {
"Key is " + $e + ", Value is " + $h1[$e]
}
PowerShell