【发布时间】:2018-08-30 23:59:34
【问题描述】:
我在 Powershell 4.0 中使用 Import-Csv 导入 CSV,目的是添加具有变体的重复行。假设 $data 是一个包含 CSV 的变量,这是我打印时的输出:-
PS C:> $data
Var1 Var2 Var3 Var4
---- ---- ---- ----
Ans1 Ans2 Ans3 Ans4
然后我创建该行的副本:-
PS C:>$firstRow = $data[0]
理论上,我会修改 $firstRow 并将其作为新行重新添加:-
$firstRow.Var1 = 'TEST'
这就是有趣的地方。像我上面那样修改变量也修改了原始变量:-
PS C:> $data
Var1 Var2 Var3 Var4
---- ---- ---- ----
TEST Ans2 Ans3 Ans4
谷歌搜索并没有真正阐明这一点。我还注意到,当变量是标准变量(例如字符串、整数等)时,不会发生这种情况。
有人知道这个问题的解决方法吗?或者如果在这种特定情况下发生这种情况是有原因的?
亲切的问候, 本
【问题讨论】:
-
这就是数组在 .NET 中的工作方式 -
$firstRow确实拥有与$data[0]相同的对象的引用
标签: powershell csv variables