.net - Powershell 对象 [] 到 .Net 集合?

标签 .net arrays powershell

在下面的 Powershell 语句中,为什么我需要逗号来实例化 Powershell Object[] 中的 .Net 数组列表或堆栈?

$list = "A","B","C"
$stack = New-Object System.Collections.Stack(,$list)

我为什么需要它,逗号是什么意思?

最佳答案

逗号 是 PowerShell 中的数组运算符。

问题是 PowerShell 将您的数组解包到重载参数中。添加逗号将其保留为数组。

没有逗号你会得到这个错误:

New-Object : Cannot find an overload for "Stack" and the argument count: "3".

摘自Windows PowerShell 实战(第二版): 逗号运算符始终将其参数值包装在一个新的单元素数组中。

关于.net - Powershell 对象 [] 到 .Net 集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9833160/

相关文章:

powershell - 如何使用 $ErrorActionPreference = "Stop"获得正确的错误行号

regex - 替换 powershell 中的特殊字符

javascript - 当定义为百分比时,如何获得 div 的物理大小?

asp.net - RestFul WebApi 中的幂等概念是什么?

asp.net - 如何避免使用代理类的 Web 方法参数?

javascript - Array.map 是否重用 React 组件的实例?

java - 编写一个程序来查找整数数组中最长连续序列的长度?

python - 用python替换二维数组的对角线

powershell - 按共性分组

c# - 泛型 Func<T> 的运行时创建