如何将哈希表数组转换为字符串数组

西蒙·图西

如何将哈希表数组转换为字符串数组?

我正在尝试创建一个简单的菜单,它允许用户从列表中选择一个服务器。以下是列表示例:

$sqlServers = @(@{key="LOCALDB"; serverName="(localdb)\mssqllocaldb"; 
                    credentials="-E"; userEntry="L"; 
                    menuText="(L)ocaldb`t`t((localdb)\mssqllocaldb)"},
                @{key="DEV"; serverName="DEV_SERVER"; 
                    credentials="-E"; userEntry="D"; 
                    menuText="(D)ev`t`t`t(DEV_SERVER)"},
                @{key="TEST"; serverName="TEST_SERVER"; 
                    credentials="-E"; userEntry="T"; 
                    menuText="(T)est`t`t`t(TEST_SERVER)"})

这将显示如下:

(L)ocaldb       ((localdb)\mssqllocaldb) 
(D)ev           (DEV_SERVER)
(T)est          (TEST_SERVER)

我想从我的服务器列表中读取有效用户选择列表,然后检查用户按下的键是否在该有效选择列表中。这是我到目前为止所得到的:

function Get-UserSelection (
    [Parameter(Mandatory=$True)]
    $servers
    )
{
    Write-Host "Select the server to run the SQL scripts on (type a letter followed by the [Enter] key, or press CTRL+C to exit)"

    foreach ($server in $servers)
    {
        Write-Host "`t" $server.menuText
    }

    $validSelections = $servers | Select-Object {$_.userEntry}
    $userSelection = ""

    while ($True)
    {
        $userSelection = Read-Host         

        ForEach ($validSelection in $validSelections)
        {
            if ($userSelection -eq $validSelection) 
            {
                return $userSelection
            }
        }

        Write-Host "Invalid selection.  Please try again or press CTRL+C to exit"
    }
}

问题是$validSelection,而不是L的值D,具有与@{$_.userEntry=L}转换为字符串时一样的值,因此$userSelection (eg "d")永远不会被视为有效。

我认为问题出在这条线上

$validSelections = $servers | Select-Object {$_.userEntry}

我如何修改这个让$validSelections是一个字符串数组,而不是自定义对象的数组?

马丁·布兰德尔

你快到了。只需使用ForEach-Objectcmdlet来迭代在每个哈希表,并选择价值userEntry

$validSelections = $sqlServers | ForEach-Object {$_.userEntry}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将哈希表转换为字符串数组

来自分类Dev

如何将字符从数组转换为字符串

来自分类Dev

如何将字符数组转换为字符串

来自分类Dev

如何将JSON数组转换为字符串..?

来自分类Dev

如何将数组转换为最短的字符串

来自分类Dev

如何将JSON转换为数组或字符串?

来自分类Dev

Java,如何将字符串转换为数组

来自分类Dev

如何将键值对的字符串转换为数组

来自分类Dev

如何将数组转换为字符串

来自分类Dev

如何将数组转换为字符串

来自分类Dev

如何将字符串转换为数组

来自分类Dev

如何将字符串转换为对象数组?

来自分类Dev

如何将字符串转换为Python数组?

来自分类Dev

如何将字符串转换为数组?

来自分类Dev

如何将Xml转换为字符串数组

来自分类Dev

如何将字符串转换为数组?

来自分类Dev

如何将字符串转换为和数组

来自分类Dev

如何将字符串转换为数组列表

来自分类Dev

如何将字符串转换为数组

来自分类Dev

如何将字符串转换为对象数组

来自分类Dev

如何将 TxtNation 字符串转换为数组?

来自分类Dev

如何将字符串数组转换为对象

来自分类Dev

如何将字符串数组转换为NSData,如何将NSData转换为字符串数组?

来自分类Dev

如何将字符串转换为数组中的字符串数组

来自分类Dev

如何将字符串转换为数组(int和字符串数组)?

来自分类Dev

如何将字符串数组数组转换为数字数组数组?

来自分类Dev

Ruby / Rails:如何将键值字符串(包括数组值)转换为有效哈希

来自分类Dev

如何将字符串数组转换为D中的字符串?

来自分类Dev

如何将字符串的单元格数组转换为字符串矩阵?

Related 相关文章

热门标签

归档