1

在powershell中有一种方法可以将哈希表转换为System.Version,我得到的错误是无法将“System.Collections.Hashtable”类型的“System.Collections.Hashtable”值转换为“System.Version”类型。

在我的 foreach 循环中的示例,我向 dbDictionary 添加了两个变量,一个键和一个值

$dbDictionary.Add($dbChangesfiles, $line)

然后,我想将该 dbDictionary 转换为 System.Version,以便可以针对已转换为 System.Version 的其他两个变量引用它。

$dbDictionaryAsVersion = [System.Version]$dbDictionary

任何帮助,将不胜感激

4

1 回答 1

1

你不能通过直接演员来做到这一点。您需要具体并引用包含版本值的字典项:

PS> $dbDictionary = @{key1='1.2'; key2='3.4'}
PS> [System.Version]$dbDictionary['key1']

Major  Minor  Build  Revision
-----  -----  -----  --------
1      2      -1     -1      

如果版本包含所有键:

PS> [System.Version]($dbDictionary.Values -join '.')

Major  Minor  Build  Revision
-----  -----  -----  --------
1      2      3      4      
于 2013-03-01T11:43:06.180 回答