sourcetip

PowerShell에서 익명 개체를 만들려면 어떻게 해야 합니까?

fileupload 2023. 10. 10. 20:55
반응형

PowerShell에서 익명 개체를 만들려면 어떻게 해야 합니까?

C#에서 이 작업을 수행하는 방법과 같은 임의 값의 개체를 생성하고자 합니다.

var anon = new { Name = "Ted", Age = 10 };

가장 쉽게 사용할 수 있는 순서대로 다음 중 하나를 수행할 수 있습니다.

  1. PowerShell 5+와 함께 바닐라 해시테이블 사용

    PS5에서는 바닐라 해시 테이블이 대부분의 사용 사례에 적합합니다.

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

  2. 해시 테이블을 다음으로 변환PSCustomObject

    선호도가 높지 않다면 바닐라 해시 테이블이 작동하지 않는 곳에서 사용하십시오.

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

  3. 사용.Select-Objectcmdlet

    $o = Select-Object @{n='Name';e={'Ted'}},
                       @{n='Age';e={10}} `
                       -InputObject ''
    

  4. 사용.New-Object그리고.Add-Member

    $o = New-Object -TypeName psobject
    $o | Add-Member -MemberType NoteProperty -Name Name -Value 'Ted'
    $o | Add-Member -MemberType NoteProperty -Name Age -Value 10
    

  5. 사용.New-Object해시 테이블 및 해시 테이블

    $properties = @{
        Name = "Ted";
        Age = 10
    }
    $o = New-Object psobject -Property $properties;
    

참고: 객체 대.해시 테이블

해시 테이블은 다음을 포함하는 사전일 뿐입니다.keys그리고.values, 즉, 당신은 다른 PS 기능을 찾는 결과를 얻을 수 없을 수도 있습니다.objects그리고.properties:

$o = @{ Name="Ted"; Age= 10; }
$o | Select -Property *

더보기

시도해 보기:

PS Z:\> $o = @{}
PS Z:\> $o.Name = "Ted"
PS Z:\> $o.Age = 10

참고: 이 개체를 다음 개체로 포함할 수도 있습니다.-BodyInvoke-RestMethod추가적인 작업 없이도 연재가 가능합니다.

갱신하다

아래의 의견을 참고하세요.그러면 해시 테이블이 만들어집니다.

PowerShell 5+를 사용하면 다음과 같이 선언할 수 있습니다.

    $anon = @{ Name="Ted"; Age= 10; }

Example

언급URL : https://stackoverflow.com/questions/36081372/how-do-i-create-an-anonymous-object-in-powershell

반응형