PowerShell:
การใช้แอเรย์สมาชิก

วิธีใช้:

การสร้างและใช้ associative arrays ใน PowerShell นั้นค่อนข้างตรงไปตรงมา นี่คือวิธีทำมัน:

การสร้าง associative array:

$myAssociativeArray = @{}
$myAssociativeArray["name"] = "Alex"
$myAssociativeArray["age"] = 25
$myAssociativeArray["job"] = "Engineer"

โค้ดข้างต้นสร้าง associative array ที่มีคู่คีย์-ค่าสามคู่

การเข้าถึงค่า:

เพื่อดึงค่าออกมา ให้อ้างอิงคีย์ของมัน:

Write-Output $myAssociativeArray["name"]

ตัวอย่างผลลัพธ์:

Alex

การเพิ่มหรือแก้ไขข้อมูล:

เพียงใช้คีย์ในการเพิ่มคู่ใหม่หรือแก้ไขคู่ที่มีอยู่:

$myAssociativeArray["location"] = "New York" # เพิ่มคู่คีย์-ค่าใหม่
$myAssociativeArray["job"] = "Senior Engineer" # แก้ไขคู่ที่มีอยู่

การวนซ้ำผ่าน associative array:

วนลูปผ่านคีย์และค่าแบบนี้:

foreach ($key in $myAssociativeArray.Keys) {
  $value = $myAssociativeArray[$key]
  Write-Output "$key : $value"
}

ตัวอย่างผลลัพธ์:

name : Alex
age : 25
job : Senior Engineer
location : New York

ลงลึก

คอนเซปต์ของ associative arrays เป็นที่นิยมในหลายภาษาการเขียนโปรแกรม โดยมักจะถูกเรียกว่า dictionary, map, หรือ hash table ตามภาษาที่ใช้ ใน PowerShell, associative arrays ถูกประยุกต์ใช้เป็น hash tables ซึ่งมีประสิทธิภาพสูงสำหรับการค้นหาคีย์, เก็บข้อมูล, และรักษาคอลเลกชันของคีย์ที่ไม่ซ้ำกัน

ตามประวัติศาสตร์แล้ว, associative arrays ให้วิธีการจัดการคอลเลกชันของวัตถุที่แต่ละรายการสามารถเรียกข้อมูลออกมาได้อย่างรวดเร็วโดยไม่ต้องวนซ้ำผ่านทั้งคอลเลกชันโดยใช้คีย์ ประสิทธิภาพในการเรียกข้อมูลและการแก้ไขข้อมูลใน associative arrays ทำให้พวกมันเป็นทางเลือกที่ต้องการสำหรับงานต่างๆ อย่างไรก็ตาม พวกเขามีข้อจำกัด เช่น การรักษาลำดับ ซึ่ง ordered dictionaries หรือวัตถุที่กำหนดเองอาจเป็นทางเลือกที่ดีกว่า

ทั้งนี้ associative arrays/hash tables ใน PowerShell มีความยืดหยุ่นและเป็นเครื่องมือที่มีพลังสำหรับการเขียนสคริปต์อย่างมาก พวกเขาช่วยให้การเก็บข้อมูลแบบไดนามิกและเป็นที่นิยมใช้ในการกำหนดค่า การจัดการข้อมูล และทุกที่ที่ต้องการรูปแบบข้อมูลที่มีโครงสร้างโดยไม่ต้องใช้การกำหนดคลาสอย่างเป็นทางการ เพียงจำไว้ ในขณะที่ associative arrays เหมาะสำหรับการเรียกข้อมูลโดยใช้คีย์ ถ้างานของคุณเกี่ยวข้องกับโครงสร้างข้อมูลที่ซับซ้อนหรือต้องการรักษาลำดับเฉพาะ คุณอาจต้องการสำรวจประเภทข้อมูลอื่นหรือวัตถุที่กำหนดเองภายใน PowerShell