ค้นหาเว็บไซต์

วิธีการสร้างอาร์เรย์ว่างของวัตถุใน PowerShell?


คุณต้องการสร้างอาร์เรย์ว่างของวัตถุใน PowerShell หรือไม่? ในบทช่วยสอน PowerShell นี้ ฉันได้อธิบายวิธีสร้างอาร์เรย์ว่างของอ็อบเจ็กต์ใน PowerShell

หากต้องการสร้างอาร์เรย์ว่างของออบเจ็กต์ใน PowerShell โดยการเริ่มต้นอาร์เรย์ด้วยตัวดำเนินการนิพจน์ย่อยของอาร์เรย์ @() ตัวอย่างเช่น $emptyArray=@() ให้อาร์เรย์ว่างซึ่งคุณสามารถเพิ่มออบเจ็กต์ได้โดยใช้ $emptyArray += New-Object -TypeName PSObject วิธีการนี้ตรงไปตรงมาและเหมาะสำหรับผู้เริ่มต้นในการเริ่มจัดการอาร์เรย์ใน PowerShell

สร้างอาร์เรย์ว่างของวัตถุใน PowerShell

วิธีที่ง่ายที่สุดในการสร้างอาร์เรย์ว่างใน PowerShell คือการใช้ตัวดำเนินการนิพจน์ย่อยของอาร์เรย์ @() โอเปอเรเตอร์นี้จะเริ่มต้นอาร์เรย์ใหม่ที่คุณสามารถเพิ่มอ็อบเจ็กต์ลงไปได้

# Create an empty array
$array = @()

ขณะนี้อาร์เรย์นี้พร้อมที่จะจัดเก็บวัตถุแล้ว แม้ว่าในปัจจุบันจะไม่มีเลยก็ตาม

การเพิ่มวัตถุลงในอาร์เรย์ว่าง

เมื่อคุณมีอาร์เรย์ว่างแล้ว คุณสามารถเพิ่มออบเจ็กต์ลงใน PowerShell ได้ มีสองวิธีในการทำเช่นนี้

การใช้โอเปอเรเตอร์ +=

คุณสามารถเพิ่มวัตถุลงในอาร์เรย์ได้โดยใช้โอเปอเรเตอร์ += ตัวดำเนินการนี้จะเพิ่มรายการต่อท้ายอาร์เรย์

# Add a new object to the array
$array += New-Object -TypeName PSObject

ตัวอย่างนี้จะสร้าง PSObject ใหม่ ซึ่งเป็นประเภทออบเจ็กต์ทั่วไปใน PowerShell และเพิ่มลงในอาร์เรย์

การใช้เมธอด .Add() กับ ArrayList

หากคุณวางแผนที่จะเพิ่มรายการจำนวนมากลงในอาร์เรย์ การใช้ ArrayList หรือรายการทั่วไปจะมีประสิทธิภาพมากกว่า เนื่องจากรายการประเภทเหล่านี้ออกแบบมาเพื่อการแก้ไขบ่อยครั้ง

# Create an ArrayList
$arrayList = New-Object System.Collections.ArrayList

# Add a new object to the ArrayList
$null = $arrayList.Add((New-Object -TypeName PSObject))

โปรดทราบว่าเรากำหนดผลลัพธ์ของ $arrayList.Add() ให้กับ $null เนื่องจากวิธีการ .Add() จะส่งกลับดัชนีของรายการที่เพิ่ม สิ่งของที่เรามักไม่ต้องการ

สร้างอาร์เรย์ของอาร์เรย์ใน PowerShell

บางครั้งคุณอาจต้องการอาร์เรย์โดยที่แต่ละรายการเป็นอาร์เรย์เอง สิ่งนี้เรียกว่าอาเรย์หยัก

# Create an empty array of arrays
$arrayOfArrays = @()

หากต้องการเพิ่มอาร์เรย์ใหม่ให้กับอาร์เรย์ของอาร์เรย์นี้ ให้ใช้โอเปอเรเตอร์ += พร้อมเครื่องหมายจุลภาคเพื่อระบุว่ารายการที่จะเพิ่มนั้นเป็นอาร์เรย์เอง

# Add a new empty array to the array of arrays
$arrayOfArrays += ,@()

การสร้างอาร์เรย์ของวัตถุที่กำหนดเองใน PowerShell

คุณยังสามารถสร้างอาร์เรย์เพื่อเก็บวัตถุแบบกำหนดเองใน PowerShell ได้อีกด้วย ออบเจ็กต์ที่กำหนดเองคืออินสแตนซ์ของ PSObject ที่ได้รับการขยายพร้อมคุณสมบัติเพิ่มเติม

# Create an empty array for custom objects
$customObjectArray = @()

# Define a new custom object and add it to the array
$obj = New-Object -TypeName PSObject -Property @{
    Name = 'John Doe'
    Age = 30
}
$customObjectArray += $obj
Write-Host $customObjectArray

คุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่าง หลังจากที่ฉันรันโค้ดโดยใช้ PowerShell ISE

การใช้ Loop เพื่อเติม Array

ลูปมักใช้เพื่อเติมอาร์เรย์ ตัวอย่างเช่น คุณสามารถใช้ลูป foreach เพื่อวนซ้ำชุดของค่าและเพิ่มออบเจ็กต์ลงในอาร์เรย์สำหรับแต่ละค่า

# Create an empty array
$users = @()

# Simulate adding multiple user objects to the array
foreach ($i in 1..5) {
    $user = New-Object -TypeName PSObject -Property @{
        ID = $i
        Username = "User$i"
    }
    $users += $user
}

บทสรุป

ในบทช่วยสอน PowerShell นี้ ฉันได้อธิบายวิธีสร้างอาร์เรย์ว่างของออบเจ็กต์ใน PowerShell

บทความที่เกี่ยวข้อง