有效地将哈希表转换回字符串数据

我正在尝试以一种有效的方式将哈希表转换回键值对。目前,我正在使用此:

$kv = ""
$hash.GetEnumerator() | ForEach {
  $kv += "$($_.Name)=$($_.Value)"
}

没有任何方法可以直接将哈希表转换为键值对,或者我的意思是字符串数据。有ConvertFrom-StringData可以将键值对转换为哈希表。没有办法相反,直接将哈希表转换为键值对吗?

E.G(键值对)

a=1
b=2
c=3
a751113604 回答:有效地将哈希表转换回字符串数据

对于类似的question,我建议使用此脚本cmdlet:

function ConvertTo-StringData {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory,Position = 0,ValueFromPipeline)]
        [HashTable[]]$HashTable
    )
    process {
        foreach ($item in $HashTable) {
            foreach ($entry in $item.GetEnumerator()) {
                "{0}={1}" -f $entry.Key,$entry.Value
            }
        }
    }
}

示例:

ConvertTo-StringData $hash 
# or
$hash | ConvertTo-StringData
本文链接:https://www.f2er.com/2577790.html

大家都在问