programing

어레이, 해시 테이블 및 사전을 생성하시겠습니까?

telecom 2023. 7. 29. 08:11
반응형

어레이, 해시 테이블 및 사전을 생성하시겠습니까?

배열, 해시 테이블 및 사전을 만드는 올바른 방법은 무엇입니까?

$array = [System.Collections.ArrayList]@()

$array.GetType()ArrayList(확인)를 반환합니다.

$hashtable = [System.Collections.Hashtable]

$hashtable.GetType()런타임을 반환합니다.유형, 정상이 아닙니다.

$dictionary = ? 

이것을 이용하여 사전을 만드는 방법.넷웨이?

사전과 해시 테이블의 차이점은 무엇입니까?나는 그것들 중 하나를 언제 사용해야 할지 잘 모르겠습니다.

올바른 방법(즉, PowerShell 방법)은 다음과 같습니다.

배열:

> $a = @()
> $a.gettype()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     Object[]                                 System.Array

해시 테이블 / 사전:

> $h = @{}
> $h.gettype()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     Hashtable                                System.Object

위의 내용은 대부분의 사전과 유사한 시나리오에 충분하지만, 만약 당신이 명시적으로 유형을 원한다면.Systems.Collections.Generic다음과 같이 초기화할 수 있습니다.

> $d = New-Object 'system.collections.generic.dictionary[string,string]'
> $d.gettype()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     Dictionary`2                             System.Object

> $d["foo"] = "bar"
> $d | Format-Table -auto

Key   Value
---   -----
foo   bar

배열을 초기화하려면 다음 코드를 사용할 수 있습니다.

$array = @()    # empty array
$array2 = @('one', 'two', 'three')   # array with 3 values

해시 테이블을 초기화하려면 다음 코드를 사용합니다.

$hashtable = @{}   # empty hashtable
$hashtable2 = @{One='one'; Two='two';Three='three'}   # hashtable with 3 values

Powershell의 해시 테이블과 사전은 거의 동일하므로 에서 무언가를 수행할 필요가 없는 한 거의 모든 경우에 해시 테이블을 사용할 것을 제안합니다.사전이 필요한 경우 NET)

언급URL : https://stackoverflow.com/questions/28564082/create-an-array-hashtable-and-dictionary

반응형