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

วิธีรวมตัวเลขทั้งหมดในอาร์เรย์ใน PowerShell


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

หากต้องการรวมตัวเลขทั้งหมดในอาร์เรย์ใน PowerShell ให้ใช้ Measure-Object cmdlet พร้อมด้วยพารามิเตอร์ -Sum ตัวอย่างเช่น $total=($array | Measure-Object -Sum)Sum จะคำนวณผลรวมของค่าตัวเลขทั้งหมดใน $array นี่เป็นวิธีที่มีประสิทธิภาพในการหาผลรวมของตัวเลขอย่างรวดเร็ว

รวมตัวเลขทั้งหมดในอาร์เรย์ใน PowerShell

อาร์เรย์เป็นโครงสร้างข้อมูลที่เก็บคอลเลกชันของรายการ รายการเหล่านี้อาจเป็นตัวเลข สตริง หรือวัตถุประเภทอื่นๆ ใน PowerShell อาร์เรย์จะถูกสร้างขึ้นโดยการแยกรายการด้วยเครื่องหมายจุลภาค

$numbers = 1, 2, 3, 4, 5  # This is an array of numbers

ตอนนี้ให้เราดูวิธีการเพิ่มหรือรวมตัวเลขเหล่านี้ทั้งหมดจากอาร์เรย์นี้ใน PowerShell โดยใช้วิธีการต่างๆ

วิธีที่ 1: การใช้ ForEach Loop

วิธีที่ง่ายที่สุดในการรวมตัวเลขในอาร์เรย์คือการใช้ลูป ForEach ใน PowerShell การวนซ้ำนี้จะวนซ้ำแต่ละตัวเลขในอาร์เรย์และเพิ่มลงในตัวแปรผลรวม

$numbers = 1, 2, 3, 4, 5
$sum = 0  # Initialize sum to zero

foreach ($number in $numbers) {
    $sum += $number  # Add each number to the sum
}

Write-Output "The sum is: $sum"

หลังจากรันโค้ดโดยใช้โค้ด VS คุณจะเห็นผลลัพธ์ในภาพหน้าจอด้านล่าง:

วิธีที่ 2: การใช้ Cmdlet วัตถุวัด

PowerShell มี cmdlet ที่เรียกว่า Measure-Object ซึ่งสามารถคำนวณคุณสมบัติของวัตถุ รวมถึงการบวกตัวเลขในอาร์เรย์

$numbers = 1, 2, 3, 4, 5
$sum = ($numbers | Measure-Object -Sum).Sum  # Use Measure-Object to sum the numbers

Write-Output "The sum is: $sum"

Measure-Object cmdlet เป็นเครื่องมือที่มีประสิทธิภาพและสามารถใช้เพื่อคำนวณข้อมูลทางสถิติอื่นๆ ได้เช่นกัน เช่น จำนวน ค่าเฉลี่ย ค่าสูงสุด และค่าต่ำสุด

วิธีที่ 3: การใช้ ForEach-Object Cmdlet

อีกวิธีในการรวมตัวเลขในอาร์เรย์ใน PowerShell คือการใช้ ForEach-Object cmdlet ด้วย -Begin, -Process และ -สิ้นสุด พารามิเตอร์

นี่คือสคริปต์ PowerShell ที่สมบูรณ์:

$numbers = 1, 2, 3, 4, 5
$sum = 0  # Initialize sum to zero

$numbers | ForEach-Object -Begin { $sum = 0 } -Process { $sum += $_ } -End { Write-Output "The sum is: $sum" }

ในตัวอย่างนี้ บล็อก -Begin เริ่มต้นตัวแปรผลรวม บล็อก -Process จะอัปเดตผลรวมด้วยตัวเลขแต่ละตัว และบล็อก -End ส่งออกผลรวมทั้งหมด

วิธีที่ 4: การใช้การสะสมอาร์เรย์

PowerShell ยังช่วยให้คุณสะสมอาร์เรย์เป็นค่าเดียวได้โดยตรงโดยใช้ตัวดำเนินการ += ภายในลูป นี่เป็นอีกวิธีหนึ่งในการรวมตัวเลขทั้งหมดในอาร์เรย์ PowerShell

$numbers = 1, 2, 3, 4, 5
$sum = 0  # Initialize sum to zero

for ($i = 0; $i -lt $numbers.Length; $i++) {
    $sum += $numbers[$i]  # Add each number to the sum
}

Write-Output "The sum is: $sum"

วิธีการนี้คล้ายกับลูป ForEach แต่ใช้ลูป for เพื่อวนซ้ำดัชนีอาร์เรย์

วิธีที่ 5: การใช้ Linq

สำหรับผู้ที่คุ้นเคยกับ .NET แล้ว PowerShell สามารถใช้ไลบรารี Linq เพื่อรวมตัวเลขในอาร์เรย์ได้

Add-Type -AssemblyName System.Linq

$numbers = 1, 2, 3, 4, 5
$sum = [System.Linq.Enumerable]::Sum([System.Collections.Generic.List[int]]$numbers)

Write-Output "The sum is: $sum"

วิธีนี้มีขั้นสูงกว่าและเกี่ยวข้องกับการส่งอาร์เรย์ไปยังรายการทั่วไปที่วิธี Sum สามารถใช้งานได้

บทสรุป

ในบทช่วยสอน PowerShell นี้ ฉันได้อธิบายวิธีรวมตัวเลขทั้งหมดในอาร์เรย์ใน PowerShell โดยใช้วิธีต่างๆ:

  • การใช้ ForEach Loop
  • การใช้ Cmdlet วัดวัตถุ
  • การใช้ ForEach-Object Cmdlet
  • การใช้การสะสมอาร์เรย์
  • การใช้ Linq

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