Cách tính tổng tất cả các số trong một mảng trong PowerShell
Bạn có muốn tính tổng tất cả các số trong mảng PowerShell không? Trong hướng dẫn PowerShell này, tôi sẽ giải thích cách tính tổng tất cả các số trong một mảng trong PowerShell.
Để tính tổng tất cả các số trong một mảng trong PowerShell, hãy sử dụng lệnh ghép ngắn Measure-Object với tham số -Sum. Ví dụ: $total=($array | Measure-Object -Sum).Sum sẽ tính tổng của tất cả các giá trị số trong $array. Đây là một cách hiệu quả để có được tổng của một tập hợp số một cách nhanh chóng.
Tính tổng tất cả các số trong một mảng trong PowerShell
Mảng là một cấu trúc dữ liệu chứa một tập hợp các mục. Các mục này có thể là số, chuỗi hoặc bất kỳ loại đối tượng nào khác. Trong PowerShell, mảng được tạo bằng cách phân tách các mục bằng dấu phẩy.
$numbers = 1, 2, 3, 4, 5 # This is an array of numbersBây giờ, chúng ta hãy xem cách cộng hoặc tính tổng tất cả các số này từ mảng này trong PowerShell bằng nhiều phương pháp khác nhau.
Phương pháp 1: Sử dụng vòng lặp ForEach
Cách đơn giản nhất để tính tổng các số trong một mảng là sử dụng vòng lặp ForEach trong PowerShell. Vòng lặp này lặp qua từng số trong mảng và thêm nó vào một biến tổng.
$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"
Sau khi thực thi mã bằng mã VS, bạn có thể thấy kết quả đầu ra trong ảnh chụp màn hình bên dưới:
Phương pháp 2: Sử dụng lệnh ghép ngắn Measure-Object
PowerShell cung cấp một lệnh ghép ngắn có tên Measure-Object có thể thực hiện các phép tính trên thuộc tính của đối tượng, bao gồm cả việc tính tổng các số trong một mảng.
$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"Lệnh ghép ngắn Measure-Object là một công cụ mạnh mẽ và cũng có thể được sử dụng để tính toán các thông tin thống kê khác, chẳng hạn như số lượng, trung bình, tối đa và tối thiểu.
Phương pháp 3: Sử dụng lệnh ghép ngắn ForEach-Object
Một cách khác để tính tổng các số trong một mảng trong PowerShell là sử dụng lệnh ghép ngắn ForEach-Object với -Begin, -Process và >-End tham số.
Đây là tập lệnh PowerShell hoàn chỉnh:
$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" }Trong ví dụ này, khối -Begin khởi tạo biến tổng, khối -Process cập nhật tổng với mỗi số và khối -End xuất ra tổng số tiền.
Phương pháp 4: Sử dụng tích lũy mảng
PowerShell cũng cho phép bạn tích lũy trực tiếp một mảng thành một giá trị duy nhất bằng cách sử dụng toán tử += bên trong một vòng lặp. Đây là một phương pháp khác để tính tổng tất cả các số trong mảng 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"Phương thức này tương tự như vòng lặp ForEach nhưng sử dụng vòng lặp for để lặp qua các chỉ mục mảng.
Phương pháp 5: Sử dụng Linq
Đối với những người thành thạo .NET, PowerShell có thể sử dụng thư viện Linq để tính tổng các số trong một mảng.
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"
Phương pháp này nâng cao hơn và liên quan đến việc truyền mảng vào một danh sách chung mà phương thức Sum có thể hoạt động trên đó.
Phần kết luận
Trong hướng dẫn PowerShell này, tôi đã giải thích cách tổng tất cả các số trong một mảng trong PowerShell bằng nhiều phương pháp khác nhau:
- Sử dụng vòng lặp ForEach
- Sử dụng lệnh ghép ngắn đối tượng đo
- Sử dụng lệnh ghép ngắn ForEach-Object
- Sử dụng tích lũy mảng
- Sử dụng Linq
