Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Powershell中的阵列创建KeyCollection?_Powershell - Fatal编程技术网

如何从Powershell中的阵列创建KeyCollection?

如何从Powershell中的阵列创建KeyCollection?,powershell,Powershell,假设我有这样的散列: $NATO = @{ "A" = "Alpha"; "B" = "Bravo"; "C" = "Charlie"; # ... "Y" = "Yankee"; "Z" = "Zulu"; } 我可以使用$NATO.keys密钥集合获取哈希的所有值: $NATO[$NATO.keys] # gives me all values 但如果我想传递键的子集,以

假设我有这样的散列:

   $NATO = @{
        "A" = "Alpha";
        "B" = "Bravo";
        "C" = "Charlie";
        # ...
        "Y" = "Yankee";
        "Z" = "Zulu";
    }
我可以使用
$NATO.keys
密钥集合获取哈希的所有值:

    $NATO[$NATO.keys] # gives me all values
但如果我想传递键的子集,以获得值的子集,我不能这样做:

    $NATO["BUNYK".ToCharArray()] # gives me nothing, but I want 
    # Bravo, Uniform, November, Yankee, Kilo

你知道怎么做吗

哈希表将键存储为对象,而不一定是简单的字符串。示例中的键是字符串,但您试图将它们作为[char]对象访问。处理示例的最简单方法是将[char[]]数组强制转换为[string[]]数组:

$NATO[([string[]] "BUNYK".ToCharArray())]

哈希表将键存储为对象,不一定是简单的字符串。示例中的键是字符串,但您试图将它们作为[char]对象访问。处理示例的最简单方法是将[char[]]数组强制转换为[string[]]数组:

$NATO[([string[]] "BUNYK".ToCharArray())]

哈希表将键存储为对象,不一定是简单的字符串。示例中的键是字符串,但您试图将它们作为[char]对象访问。处理示例的最简单方法是将[char[]]数组强制转换为[string[]]数组:

$NATO[([string[]] "BUNYK".ToCharArray())]

哈希表将键存储为对象,不一定是简单的字符串。示例中的键是字符串,但您试图将它们作为[char]对象访问。处理示例的最简单方法是将[char[]]数组强制转换为[string[]]数组:

$NATO[([string[]] "BUNYK".ToCharArray())]

您还可以将字符串数组通过管道传输到
ForEach对象中
循环:

 [string[]]'BUNYK'.ToCharArray() | % { $NATO[$_] }

您还可以将字符串数组通过管道传输到
ForEach对象中
循环:

 [string[]]'BUNYK'.ToCharArray() | % { $NATO[$_] }

您还可以将字符串数组通过管道传输到
ForEach对象中
循环:

 [string[]]'BUNYK'.ToCharArray() | % { $NATO[$_] }

您还可以将字符串数组通过管道传输到
ForEach对象中
循环:

 [string[]]'BUNYK'.ToCharArray() | % { $NATO[$_] }