about_Booleans
간단한 설명
부울 식이 계산되는 방법을 설명합니다.
자세한 설명
PowerShell은 모든 형식을 부울로 암시적으로 처리할 수 있습니다. PowerShell에서 다른 형식 을 부울 값으로 변환하는 데 사용하는 규칙을 이해하는 것이 중요합니다.
스칼라 형식에서 변환
스칼라 형식은 한 번에 하나의 값만 보유할 수 있는 원자성 수량입니다. 다음 형식은 다음과 같이 계산합니다.$false
- 같은 빈 문자열
''
또는""
- 다음과 같은 Null 값
$null
- 값이 있는 모든 숫자 형식
0
예:
PS> $false -eq ''
True
PS> if ("") { $true } else { $false }
False
PS> if ($null) { $true } else { $false }
False
PS> if ([int]0) { $true } else { $false }
False
PS> if ([double]0.0) { $true } else { $false }
False
다음 형식은 다음과 같이 계산합니다.$true
- 비어있지 않은 문자열
- 다른 비 컬렉션 형식의 인스턴스
예:
# a non-collection type
PS> [bool]@{value = 0}
True
# non-empty strings
PS> if ('hello') { $true } else { $false }
True
PS> [bool]'False'
True
명시적 문자열 구문 분석과는 다릅니다.
PS> [bool]::Parse('false')
False
PS> [bool]::Parse('True')
True
PS> [bool]::Parse('Not True')
MethodInvocationException: Exception calling "Parse" with "1" argument(s):
"String 'Not True' was not recognized as a valid Boolean."
컬렉션 형식에서 변환
배열은 PowerShell에서 가장 일반적인 컬렉션 형식입니다. 이러한 규칙은 IList 인터페이스를 구현하는 컬렉션과 유사한 형식에 적용됩니다.
- 빈 컬렉션은 항상
$false
- 명령
[System.Management.Automation.Internal.AutomationNull]::Value
에서 출력이 없음을 나타내는 특수 null 값은 항상$false
입니다. - 단일 요소 컬렉션은 하나만 있는 요소의 부울 값으로 평가됩니다.
- 요소가 1개 이상인 컬렉션은 항상
$true
.
예:
# Empty collections
PS> [bool]@()
False
PS> [bool](Get-ChildItem | Where-Object Name -eq 'Non-existent-File.txt')
False
# Single-element collections
PS> $a = @(0)
PS> [bool]$a
False
PS> $b = @(1)
PS> [bool]$b
True
# Multi-element collections
PS> $c = @(0,0)
PS> [bool]$c
True
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
PowerShell