流程控制-布尔逻辑-布尔赋值运算符
介绍最后一类运算符是把前面的赋值运算符组合起来,非常类似前面的数学赋值运算符(+=,*=等),如下所示:
&=:var1&=var2;var1的值是var1&var2的结果。
|=:var1|=var2;var1的值是var1|var2的结果。
^=:var1^=var2;var1的值是var1^var2的结果。
这些运算符处理布尔值和数值的方式与&、|和^相同。
注意,&=和|=使用&和|,而不是&&和||,与这些较简单的运算符相关联。
位移运算符也有赋值运算符,如下所示:
>>=:var1>>=var2;把var1的二进制值向右移动var2位,就得到var1的值。
<<=:var1<<=var2;把var1的二进制值向左移动var2位,就得到var1的值。
下面看一个例子,让用户输入一个整数,然后代码使用该整数执行各种布尔运算:
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入一个整数:");
int myInt = Convert.ToInt32(Console.ReadLine());//转换为整数
Console.WriteLine("是否小于10?{0}",myInt < 10);
Console.WriteLine("是否大于等于0且小于等于5?{0}",(0 <= myInt && (myInt <= 5)));
Console.WriteLine("Bitwise and of Intger and 10 = {0}",myInt & 10);
Console.ReadKey();
}
}
}
前两行使用前面介绍的结束,提示并接受一个整数值:
Console.WriteLine("请输入一个数字:");
int myInt = Convert.ToInt32(Console.ReadLine());
使用Convert.ToInt32()从字符串输入中得到一个整数。Convert.ToInt32()是另一个类型转换命令,与前面使用的Convert.ToDouble()命令术语同系列。
剩下的3行代码对得到的数字进行各种操作,并显示结果。在编写这段代码时,假定用户输入了6:
第一个输入的操作是myInt<10的结果。如果myInt是6,则它小于10,因此结果为true。如果myInt的值是10或者更大,就会得到false。
第二个输入设计的计算比较多:(0<=myInt)&&(myInt<=5),其中包含两个比较操作,用于判断myInt的范围。是否大于等于0,且小于等于5.接着对结果进行布尔and操作。输入数字6,则(0<=myInt)返回true,而(myInt<=5)返回false,最终的结果就是(true)&&(false),即false。