Powershell 字典Dictionary嵌套列表List 详解

本文介绍了在PowerShell中如何使用字典Dictionary嵌套列表List,通过示例展示了如何避免值的意外修改问题。讨论了字典的键值类型以及在向列表添加字典时需要注意的址传递问题,并提出了使用新实例或函数复制字典以确保数据独立性的建议。
摘要由CSDN通过智能技术生成

字典可以有很多个keyword, 每一个字典都可以放到列表:

这边是一个列子:

[System.Collections.Generic.List[Object]]$mList = @{};

[System.Collections.Generic.Dictionary[String,Object]]$mDic = @{};

$mDic["day"] = "0900";

$mDic["night"] = "2100";

$mList.Add($mDic);

$mDic["day"] = "1100";

$mDic["night"] = "2300";

$mList.Add($mDic);

foreach ($t in $mList){

Write-Host $t["day"]

Write-Host $t["night"]

}

这边会有一个问题,输出的value都是1100 2300:

其实在第一个$mList.Add($mDic);的时候,$mlist的value还是0900  2100,

但是二次赋值$mList.Add($mDic);的时候,$mlist的值会随$mDic的值的改变而改变,这是因为$mDic的传递方式是址传递,如果我们想要

每次传递的day 和 night不影响上一个传递,我们

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值