C #에는 두 가지 이상한 연산자가 있습니다.
이 권한을 이해하면 부울 식 대신 사용하려는 유형과 bool에 대한 암시 적 변환을 제공하지 않으려는 유형에서 이러한 연산자를 사용할 수 있습니다.
다음과 같은 수업이 있다고 가정 해 보겠습니다.
public class MyType
{
public readonly int Value;
public MyType(int value)
{
Value = value;
}
public static bool operator true (MyType mt)
{
return mt.Value > 0;
}
public static bool operator false (MyType mt)
{
return mt.Value < 0;
}
}
따라서 다음 코드를 작성할 수 있습니다.
MyType mTrue = new MyType(100);
MyType mFalse = new MyType(-100);
MyType mDontKnow = new MyType(0);
if (mTrue)
{
// Do something.
}
while (mFalse)
{
// Do something else.
}
do
{
// Another code comes here.
} while (mDontKnow)
그러나 위의 모든 예에서 true 연산자 만 실행됩니다. 그렇다면 C #의 거짓 연산자는 무엇에 유용할까요?