nullable bool이 있습니다. 그것을 반전시키는 빠른 방법은 무엇입니까? 즉, 값이 TRUE이면 거짓, 그렇지 않으면 TRUE로 설정합니다. C#, nullable bool을 변환하는 빠른 방법?
는 (코멘트에서) 명확히하기 :
예상되는 동작은 다음과 같습니다 널 (NULL) 부울에 값이 있다면, 반전, 그렇지 않은 경우는 null를 반환해야합니다.
nullable bool이 있습니다. 그것을 반전시키는 빠른 방법은 무엇입니까? 즉, 값이 TRUE이면 거짓, 그렇지 않으면 TRUE로 설정합니다. C#, nullable bool을 변환하는 빠른 방법?
는 (코멘트에서) 명확히하기 :
예상되는 동작은 다음과 같습니다 널 (NULL) 부울에 값이 있다면, 반전, 그렇지 않은 경우는 null를 반환해야합니다.
myBool = !myBool;
편집 : OK, 문제의 세련된 이해를 바탕으로, 위의 가장 간단한 대답 (즉 myBool
가 null의 경우는 null 말한다).
감사합니다 adam, nullable 형식이 작동합니까? –
젠장, "게시물이 너무 짧다"라는 오류가 발생합니다. – ChrisF
@JL : 값이 null이 아닌 한 null 허용 가능 부울에서 작동합니다. 이 경우 먼저 myBool.HasValue를 테스트해야합니다. –
편집, drblaise는 !
, 맞다 잘 작동 여기
bool? a = null;
bool? b = false;
bool? c = true;
a = !a;
b = !b;
c = !c;
Assert.AreEqual(a, null);
Assert.AreEqual(b, true);
Assert.AreEqual(c, false);
입니다
value !value
|---------|-----------|
| null | null |
|---------|-----------|
| false | true |
|---------|-----------|
| true | false |
|---------|-----------|
+1, 비슷하게^= 참을 수도 있지만 이것은 너무 어둡습니다. –
진리표, 내가 알고, 그것은 지루하지만 난 어떻게 SO 처리 "테이블"을보고 싶어 x =! (x ?? false)
x =! x? –
null의 역수는 무엇이라고 생각합니까? –
@Allen, nullable bool 값이있는 경우 내 예상 된 동작입니다 다음 반전, 그렇지 않으면 null 반환해야합니다 ... –
당신이 생각하는 방법. myBool이 원하는 동작을 제공합니다. – DRBlaise