You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell中更新对象数组指定元素属性失败该如何解决?

问题原因

你写的代码无法生效是PowerShell的**成员枚举(Member Enumeration)**特性导致的:

  • 当你调用$results.type时,PowerShell会自动遍历数组中所有元素,把每个元素的Type属性的值提取出来,生成一个全新的普通值数组,这个新数组和原$Results对象数组没有引用关联
  • 你修改$results.type[100]本质改的是这个临时生成的新数组的对应位置值,修改完全不会同步到原$Results数组里的对象,所以看起来没有生效
正确写法

注意PowerShell的数组默认从0开始索引,如果你要修改的是逻辑上第100个元素,对应索引是99;如果你明确要修改索引为100的元素,把下标换成100即可:

# 修改逻辑上第100个元素的Type属性为y
$Results[99].Type = 'y'

这个写法是先定位到$Results数组里对应下标的原对象,再直接修改该对象的Type属性,修改会直接作用到原对象上。

内容的提问来源于stack exchange,提问作者dcaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 01:45:01