菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
317
0

C#运算符的简单使用测试

原创
05/13 14:22
阅读数 3670

在代码中看到的代码中|=,有点不太理解故重新学习了下位运算符。

位运算符在 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值比较之后赋值的时候能够用到

发表评论

0/200
317 点赞
0 评论
收藏