我需要实现一个查找表方案。我COULD利用哈希表做。所以
$fruit = @{
0 = 'Apple'
1 = 'Pear'
2 = 'Kiwi'
}
$fruit[1]
Run Code Online (Sandbox Code Playgroud)
但是在我看来,ENUM是正确的本机数据类型。但是,虽然我可以获取特定枚举名称的索引,但似乎无法通过引用值/索引来获取名称。这不起作用。
Enum Fruit {
Apple
Pear
Kiwi
}
[fruit]::1
Run Code Online (Sandbox Code Playgroud)
我只是完全不了解ENUM吗?因为在我看来,使用查找索引与[fruit]::'Pear'.value__我想做的相反。
对于上下文,我想有一个ENUM,它为从中获取的整数提供相应的字符串
(Get-WmiObject -class:Win32_ComputerSystem -computerName:. -nameSpace:'root\CIMV2').PCSystemType
Run Code Online (Sandbox Code Playgroud)
最后,我想将这些ENUM本地化为PSD1文件,因此当PCSystemType为2时,我的法语用户将获得“ Portable”,而英语用户则将获得“ Mobile”。注意,我实际上不确定“ Portable”是否正确,我需要找一个朋友来进行本地化,但是您明白了。
无论如何,在给定索引的情况下,是否有直接到达名称的路径?还是将枚举强制为数组或哈希表的唯一选择,此时没有理由使用枚举?
编辑:@ andy-arismendi在这里回答了:: ::问题。它正在调用[fruit]类型的静态方法,这不是我们想要的。而且,由于它是.NET类型,我想也需要.NET方式来引用索引,而该索引不需要像PowerShell一样使用[#]?更多学习!;)