首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在PowerShell中创建匿名对象?

如何在PowerShell中创建匿名对象?
EN

Stack Overflow用户
提问于 2016-03-18 18:00:48
回答 3查看 13.7K关注 0票数 32

我想创建一个任意值的对象,有点像我在C#中如何做到这一点

代码语言:javascript
运行
复制
var anon = new { Name = "Ted", Age = 10 };
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-06-29 05:14:27

您可以按最简单的用法顺序执行以下任一操作:

采用PowerShell 5+的

  1. Use Vanilla哈希表

在PS5中,普通哈希表适用于大多数用例

年龄= @{ $o = "Ted";年龄= 10 }

  1. Convert PSCustomObject的哈希表

如果你没有强烈的偏好,只要在普通哈希表不起作用的地方使用它:

$o = pscustomobject@{ Name = "Ted";Age = 10 }

  1. Using Select-Object cmdlet

$o =选择对象@{n=‘名称’;e={‘Ted’}},@{n=‘年龄’;e={10}}` -InputObject ''

  1. Using New-Object Add-Member

$o =新对象-TypeName psobject $o | Add-Member -MemberType NoteProperty -Name Name -Value 'Ted‘$o | Add-Member -MemberType NoteProperty -Name -Value 10

  1. Using New-Object 和哈希表

$properties; = @{ $properties =“$properties;”;$properties= 10 } $o =新对象psobject -Property Age

注意: Objects与HashTables

哈希表只是包含keysvalues的字典,这意味着您可能无法从查找objectsproperties的其他PS函数中获得预期的结果

代码语言:javascript
运行
复制
$o = @{ Name="Ted"; Age= 10; }
$o | Select -Property *

进一步阅读

票数 33
EN

Stack Overflow用户

发布于 2016-03-18 18:00:48

试试这个:

代码语言:javascript
运行
复制
PS Z:\> $o = @{}
PS Z:\> $o.Name = "Ted"
PS Z:\> $o.Age = 10

注意:您还可以将此对象作为Invoke-RestMethod-Body包含在内,它将不需要额外的工作就可以序列化它。

更新

请注意下面的注释。这将创建一个哈希表。

票数 35
EN

Stack Overflow用户

发布于 2019-11-29 23:47:02

对于PowerShell 5+,只需声明为:

代码语言:javascript
运行
复制
    $anon = @{ Name="Ted"; Age= 10; }

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36081372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档