[英]C#, quick way to invert a nullable bool?
我有一個可為空的布爾。 什么是反轉它的快速方法。 換句話說,如果value為TRUE,則將其設置為FALSE,否則將其設為TRUE。
澄清(根據評論):
預期的行為是:如果可為空的布爾值有一個值,則求反,否則應返回null。
myBool = !myBool;
編輯:好的,基於對問題的精確理解(即,如果myBool
為null,則myBool
說null),以上是最簡單的答案。
編輯,drablaise是正確的, !
效果很好
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);
這是真值表,我知道,這很無聊,但我想看看SO是如何處理“表”的
value !value
|---------|-----------|
| null | null |
|---------|-----------|
| false | true |
|---------|-----------|
| true | false |
|---------|-----------|
x =!(x ?? false)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.