True, false operators
Peponi │ 1/1/2025 │ 3m
C#
SyntaxOperatortruefalse
True, false operators
1/1/2025
3m
Peponi
C#
SyntaxOperatortruefalse
1. Introduction
true
및 false
연산자는 각각 피연산자의 상태를 boolean으로 나타낸다. true
, false
연산자는 반드시 같이 오버로드 되어야 하며, 구현에 따라 모두 true
, false
를 반환할 수도 있다.
true
연산자는 주로 문 키워드, 논리 연산자의 조건 확인에 사용되며 false
연산자는 주로 논리 연산자의 조건 확인에 사용된다.
2. Example
아래의 예제는 true
, false
, &
연산자를 오버로드하여 정의하는 방법을 보여준다. 예제에서는 &&
연산 수행 시 필드 Value
가 null
일 때만 false
를 반환하도록 한다.
public class NullToFalse
{
public bool? Value;
public static bool operator true(NullToFalse a) => a.Value != null ? true : false;
public static bool operator false(NullToFalse a) => a.Value == null;
public static NullToFalse operator &(NullToFalse a, NullToFalse b)
{
if (a.Value == null || b.Value == null) return new() { Value = null };
else return new() { Value = true };
}
}
internal class Program
{
static void Main(string[] args)
{
NullToFalse A = new() { Value = true };
NullToFalse B = new() { Value = null };
var C = A && B;
Console.WriteLine(C ? "True" : "False");
}
}
/* output:
False
*/
위 에제에서는 다음과 같은 과정을 거쳐 False
가 출력된다.
A
의false
여부를 확인한다Value
가true
임에 따라false
operator에서false
를 반환한다.
&
operator로 진입하여,B
의Value
값이null
임을 확인 후null
value를 가진 새 객체를 반환한다.C
의true
여부를 확인한다.Value
가null
임에 따라false
를 반환한다.