1. 程式人生 > >C#運算符的簡單使用測試

C#運算符的簡單使用測試

比較 如果 sts sse true clas 測試用例 method bool

在代碼中看到的代碼中|=,有點不太理解故重新學習了下位運算符。

位運算符在 c# 中的測試用例

[TestMethod]
public void TestMethod1()
{
    var a = false;
    a |= true;
    Assert.IsTrue(a);

    var b = true;
    b |= false;
    Assert.IsTrue(b);

    var c = false;
    var c2 = false;
    c = c || c2 == false;
    //等於下面
    c2 |= c;
    Assert.IsTrue(c);
    Assert.IsTrue(c2);
    // & 使用測試
    var ab = a &= b;
    Assert.IsTrue(ab);
    var abc = ab &= !c;
    Assert.IsFalse(abc);
}

|||的區別

表達式A(true) | 表達式B :表達式都會執行(| ----- 位運算符)
表達式A(true) || 表達式B :表達式B不會執行(||--短路運算符)

下面為測試通過的單元測試

var testStr = "";
Func<string, bool> funcTest = (str) =>
    {
        testStr = str;
        return false;
    };
//會執行 funcTest
var test = true | funcTest("test1");
//不會會執行 funcTest
test = true || funcTest("test2");
Assert.AreEqual(testStr, "test1");

變量A (位運算符=) 變量B

+=,-+,|=,&=,
將計算A和B的運算結果賦值給變量A

使用場景

在一些復制的判斷中可以簡化判斷語句
如果要將bool值比較之後賦值的時候能夠用到

C#運算符的簡單使用測試