将Hashtable转换为System.Version

时间:2013-03-01 11:33:06

标签: powershell

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

实施例 在我的foreach循环中,我向dbDictionary

添加了两个变量键和一个值
  

$ dbDictionary.Add($ dbChangesfiles,$ line)

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

  

$ dbDictionaryAsVersion = [System.Version] $ dbDictionary

任何帮助将不胜感激

1 个答案:

答案 0 :(得分: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