首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c#您面有没有短路与和短路或呢!

2012-09-19 
c#你面有没有短路与和短路或呢!!java中有&和&&,|和||,那么在c#中是不是一样的呢??[解决办法]有一样[解决办

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
*/

C# code
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型运算时,叫非短路与,非短路或

热点排行