arrays - Powershell : can't affect a value to variable When I use forEach

标签 arrays powershell in-place

$variable = "test", "test1", "test2", "","test3"
Write-Host $variable
foreach($item in $variable)
{
if (-not $item -or $item -eq "") {
    $item ="N/A"
}
}
Write-Host $variable
  1. 这是输出:test test1 test2 test3
  2. 这就是我所期望的:测试 test1 test2 N/A test3

最佳答案

.NET 中的字符串是不可变的并按值传递 - 当您为 $item 分配新值时,它不会影响从 $variable 中提取的现有字符串值> 数组。

使用for循环写回数组:

for($i = 0; $i -lt $variable.Count; $i++) {
    if ([string]::IsNullOrEmpty($variable[$i])) {
        $variable[$i] = "N/A"
    }
}

关于arrays - Powershell : can't affect a value to variable When I use forEach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76921768/

相关文章:

powershell - 检查文件夹是否存在错误

powershell - 使用 Sitecore Powershell 扩展更新媒体项目

Powershell Format-Table 导致空列

python - 就地替换python中列表中所有出现的元素

python - 直接在函数中更改对象在Python中是反模式吗?

python - Scikit/Numpy/Pandas 值错误 : setting an array element with sequence

c - 将 C 或 C99 中的结构数组初始化为所有相同的值

php - 如何使用foreach循环获取数组值

python - 合并数组并根据python中的键添加

python - 修改 Python 列表中的一个元素时出错