当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何在 PowerShell 中对数组中的所有数字求和

作者:精品下载站 日期:2024-12-14 05:05:43 浏览:14 分类:玩电脑

如何在 PowerShell 中对数组中的所有数字求和


您想对 PowerShell 数组中的所有数字求和吗?在本 PowerShell 教程中,我将解释如何在 PowerShell 中对数组中的所有数字求和。

要在 PowerShell 中对数组中的所有数字求和,请使用带有 -Sum 参数的 Measure-Object cmdlet。例如,$total=($array | Measure-Object -Sum).Sum 将计算 $array 中所有数值的总和。这是快速获取数字集合总数的有效方法

在 PowerShell 中对数组中的所有数字求和

数组是保存项目集合的数据结构。这些项目可以是数字、字符串或任何其他类型的对象。在 PowerShell 中,数组是通过用逗号分隔项目来创建的。

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

现在,让我们看看如何在 PowerShell 中使用各种方法对该数组中的所有这些数字进行相加或求和。

方法 1:使用 ForEach 循环

对数组中的数字求和的最简单方法是在 PowerShell 中使用 ForEach 循环。此循环迭代数组中的每个数字并将其添加到 sum 变量中。

$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 code 执行代码后,您可以在下面的屏幕截图中看到输出:

[玩转系统] 如何在 PowerShell 中对数组中的所有数字求和

方法 2:使用 Measure-Object Cmdlet

PowerShell 提供了一个名为 Measure-Object 的 cmdlet,它可以对对象的属性执行计算,包括对数组中的数字求和。

$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 >-End 参数。

这是一个完整的 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 块初始化 sum 变量,-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 循环
  • 使用测量对象 Cmdlet
  • 使用 ForEach-Object Cmdlet
  • 使用数组累加
  • 使用 Linq

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯