C#中"||" 和"|" 的区别在哪?
发布网友
发布时间:2024-10-12 07:05
我来回答
共3个回答
热心网友
时间:2024-10-12 16:17
if(条件1 || 条件2)当第一个条件满足的情况下,第二个条件不会被执行了。因为已经满足进入if语句块的条件了。
if(条件1 | 条件2)这种情况条件1执行完毕之后,无论返回真还是假,条件2都会被执行,两个条件执行完毕后将两个执行结果进行与操作(|),其实还是真真为真,真假为真,假真为真,假假为假。和||最大的区别在于两个条件都执行一下。
例子
static void Main(string[] args)
{
if (a() || b())
{
Console.WriteLine("is ok");
}
}
static bool a()
{
Console.WriteLine("进入A");
return true;
}
static bool b()
{
Console.WriteLine("进入B");
return true;
}
这种情况 b方法不会被执行,如果把||改为|,b方法也是要执行一次的。
热心网友
时间:2024-10-12 16:17
一个是逻辑运算符,逻辑或,一个是位运算符,按位或
简单来说4=100,3=11,而
4||3=1,逻辑运算的结果只能是0或者1(true or false)
而|是个运算符,4|3=100|011=111=7,
热心网友
时间:2024-10-12 16:17
||两边都是bool,求或运算
|两边可以是其他类型,结果是按位或得结果