在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
任何帮助将不胜感激
答案 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