只有一个条目的多维数组

2023-12-13

我编写了一个通用函数来调用存储过程。我尝试使用多维数组来传递参数。现在,该过程可能只采用一个参数,因此我的多维数组也只有一个参数。但这样的数组长度是2!

$MyParameters = ("param1_name", "param1_value")

$MyParameters.Length回报2!!奇怪,为什么?它应该返回1

$MyParameters正确返回:

参数1_名称
参数1值

如果我写:

$MyParameters = ("param1_name", "param1_value"), ("param2_name", "param2_value")

$MyParameters.Length回报also2 这是正确的。$MyParameters正确返回所有四个元素:

参数1_名称
参数1值
参数2_名称
参数2值

有什么原因吗?我错过了什么吗?


你正在尝试做的是创建一个多值对象数组.

这是解决该问题的示例:

$x = ,("param1","param2","param3")
x.Length

将返回1这对于你的问题是正确的。

$x = ,("param1","param2","param3"),("param1","param2","param3")
x.Length

将返回2

$x = ,("param1","param2","param3"),("param1","param2","param3")
x[0].Length

将返回1,那是因为 $x[0] 是只有一个元素的数组。

此外,如果您想创建数组的数组,可以这样做:

$x = @("param1","param2","param3"),@("param1","param2","param3")
$x.Length
#2
$x[0].Length
#3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

只有一个条目的多维数组 的相关文章

  • 在 PowerShell 中过滤 TreeView 节点

    我的 TreeView 中有大量节点 并且有一个文本框可以过滤它们以突出显示匹配的搜索 然而 它有点混乱 因为它显示了所有其他节点 并且在我更改搜索后 它使所有节点都展开 我正在尝试做这样的事情 https www codeproject
  • 将所有文件与指定目录(和子目录)中的所有文件进行二进制比较

    我需要将目录及其子目录中包含的所有文件与同一目录及其子目录中包含的所有其他文件进行比较 并将匹配文件的路径记录到文本文件或 CSV 我意识到有一些软件工具可以做到这一点 但除非它可以在 Windows 中开箱即用 否则我将不被允许在我的网络
  • PowerShell - 用户必须在下次登录时更改密码

    这就是我所拥有的 到目前为止 除了我需要用户在登录时更改密码的部分之外 一切都运行良好 Import Csv C Users user Desktop newuser csv New ADUser PassThru Set ADAccoun
  • 在 Powershell 中使用用户名/密码连接到网络文件夹

    我经常在 Powershell 中访问共享网络文件夹以获取文件等 但如果共享需要用户名 密码 Powershell 不会提示我输入这些信息 这与 Windows 资源管理器不同 如果我首先在 Windows 资源管理器中连接到该文件夹 Po
  • PowerShell 中的变量作用域

    PowerShell 的一个遗憾是函数和脚本块是动态作用域的 但另一件事让我感到惊讶的是 变量在内部作用域内表现为写时复制 array g function foo array h Write Host array array s Writ
  • 当父 powershell 进程被杀死时杀死子进程

    我的用例如下 在 Visual Studio 中 在调试时 我启动 powershell 并提供一个脚本 该脚本与几个操作一起启动项目可执行文件 如下所示 exeToStart exeParams Out Host 当我从 powershe
  • 使用 powershell 将 XML 转换为特定的 JSON 结构

    需要有关将 xml 转换为特定 json 结构的帮助 XML 看起来像这样
  • VBS 与 PowerShell:哪个更轻?

    如果我需要一个可以在系统中以最少的努力执行的脚本 我会选择哪个 通过查看任务管理器中的进程 内存 私有工作集 wscript exe 2 068Kpowershell exe 33 144K Thanks 这里存在工作守恒定律 如果机器做的
  • 无法使用 cd 前进

    我在使用 PowerShell 前进时遇到问题 我可以向上移动目录 但不能向下移动 情况是这样的 我打开 PowerShell 并输入 pwd 命令 它显示我当前处于PS C Users Robert Inspiron14 gt 我输入命令
  • 如何在 PowerShell 中批量重命名文件?

    我正在尝试执行以下操作 Rename Item c misc xml tmp 我基本上想将目录中每个文件的扩展名更改为 tmp代替 xml 我似乎无法在 PowerShell 中找到直接的方法来执行此操作 来自帮助文档中的示例4Rename
  • 如何通过 Get-AzureRmAppServicePlan 检索workerSize

    通过 Azure PowerShell cmdlet 创建新的 AppServicePlan 时New AzureRmAppServicePlan 预计我会添加一个WorkerSize例如小号 中号或大号 例如 appServicePlan
  • 无法在 Validateset 中使用预定义数组 - Powershell

    我正在寻找一种方法来制作一个 cmdlet 该 cmdlet 接收参数并在键入时提示从预定义的选项数组中完成的建议 我正在尝试这样的事情 vf Veg Fruit function Test ArgumentCompleter Cmdlet
  • Powershell 快捷方式创建不起作用

    所以我有这个脚本可以自动安装一些软件 安装软件后 我会创建一些重要应用程序的快捷方式 这些快捷方式显示在桌面上 这是我的代码 ConfigureExeSource C Program Files x86 SiteKiosk Configur
  • 使用 msiexec 卸载应用程序时是否有 GUID 的替代方案?

    目前 我们在运行包含 msiexec 的卸载脚本时使用 GUID 来识别应用程序 我遇到的问题是每次安装最新版本的应用程序时 GUID 都会发生变化 所以我想知道是否有其他方法可以识别使用 msiexec 运行的应用程序 首先 应用程序新版
  • 在 Powershell 中获取小文件的“磁盘大小”

    我正在使用一个遗留系统 该系统有大量来自外部系统的导入 其中大多数通过下载文件 根据上下文大小不同 处理它 然后将文件存储在 SAN 卷上的其他位置 格式为 NTFS 和安装在 WS2008R2 盒子上 我们遇到的问题是 由于簇的大小 大量
  • 基于团体成员资格的额外输出

    我希望你们都度过愉快的一天 如果这是一个糟糕的问题尝试 我提前道歉 我不太擅长这个 介绍 首先 我想介绍一下我实际正在创作的内容 我为 MSP 工作 我的任务是创建一个供我们的一位客户使用的用户管理 Powershell 脚本 以便我们可以
  • Powershell:对 Select-Object 中的字段使用变量

    我正在构建一个正在创建的脚本csv文件 每个csv有一组不同的字段 一切都很好 但我想控制列顺序输出 我有一个变量 其中包含字段以及我想要的字段顺序 我知道我可以使用 Select Object 来控制它 我想做的是这样的 Fields I
  • Powershell:使用变量引用脚本块中 $_ 的属性

    var id 1 name abc age 1 id 2 name def age 2 properties ID Name Age format foreach p in properties format label p Express
  • 为什么参数名称不能以数字开头?

    变量名可以是数字字母 为什么参数名不能也这样 因为first parameter char of the command parameter中指定的语法Powershell语言规范 http www microsoft com en us
  • 我怎么知道PowerShell函数参数被省略了

    考虑这样的函数 function Test foo bar 我们可以称之为 Test foo null Test 我如何知道何时省略了 foo 以及何时为 null 如果您使用的是 Powershell V2 或更高版本 则可以使用 PSB

随机推荐