วิธีรวมตัวเลขทั้งหมดในอาร์เรย์ใน 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
