c#你面有没有短路与和短路或呢!!
java中有&和&&,|和||,那么在c#中是不是一样的呢??
[解决办法]
有 一样
[解决办法]
"Java里的短路与非短路运算符" 与 "C#里的短路与非短路运算符" 是一样的.
/*
* 短路与非短路运算符测试
*
* false || false --> false
* false || true --> true
* true || false --> true
* true || true --> true
*
* false && false --> false
* false && true --> false
* true && false --> false
* true && true --> true
*/
class A{ public static void Main(string[] args) { int x = 0; Console.WriteLine(1 == x && 1 == 1/x); // 把&&换成&则抛异常 }}
[解决办法]
有的,下面输出10,因为虽然第一个a < b不成立,但因为使用&,所以(b = 10) > a依然会执行
static void Main(string[] args)
{
int a=9;
int b=4;
if ((a < b) & ((b = 10) > a))
{
}
Console.WriteLine(b);
}
[解决办法]
实际上我们常用的&&、||叫短路与和短路或,& |在对bool型运算时,叫非短路与,非短路或