使用Property创建新PSObject的PowerShell最短语法?

Jos*_*itt 5 powershell code-golf

我经常使用以下内容:

New-Object psobject -Property @{a=1; b=2; c=3; d=4}
Run Code Online (Sandbox Code Playgroud)

我想让它尽可能短,甚至可能是1个字符?使用上面的属性创建新的psobject的最短方法是什么?

我的愿望是我可以用类似这样的语法来做到这一点:

#{a=1; b=2; c=3; d=4}
Run Code Online (Sandbox Code Playgroud)

请注意,我用新的'特殊'符号替换了@.

请注意,如果这被认为是偏离主题,我会移动它.

Coo*_*ter 10

PowerShell 3及更高版本支持此语法:

[pscustomobject]@{a=1; b=2; c=3; d=4}
Run Code Online (Sandbox Code Playgroud)

与标准的New-Object调用不同,其中一个好处是属性是有序的.

你增加开销,但想必你可以创建自己的类型的加速器,做类似pscustomobject的东西,并使用较短的名称:)不知道pscustomobject的引擎盖下发生的事情虽然.