C#&&运算 表达式1&&表达式2&&表达式3表达式1为true表达式2为false表达式3为true最后的结果为什么就变成了true了呢?百思不得其解啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该是你看错了吧,应该是false, 那就说明这3个表达试都是true,去思考下为什么都是true了,而不是在想&&的问题 对表达式求值本身会不会改变表达式的值?比如:bool ShareBooleanVar = false;Func<bool> f1 = () => ShareBooleanVar = !ShareBooleanVar;Func<bool> f2 = () => !(ShareBooleanVar = !ShareBooleanVar);Func<bool> f3 = () => ShareBooleanVar = true;Console.WriteLine((f1() && f2() && f3()));Console.WriteLine((f1() && f2() && f3()));Console.WriteLine((f1() && f2() && f3()));输出TrueFalseTrue 可能是其他地方的问题吧,按逻辑的话应该是false 你看错了 其实表达式2为true DefWndProc怎么捕捉窗体内控件的鼠标消息? 基类,多态 c# 产生不重复随机数的问题 ToolStripContainer 或者说某个控件怎么置顶? Visual Studio的授权信息怎么修改? 请教在C/S下如何运行时动态确定控件属性? C#WinForm程序中DataGrid垂直滚动消息处理 c# 控制桌面 C# SOCKET编程 在程序运行后,为什么无法拖动窗体(象死机一样,可是又不占CPU资源) 怎么样发邮件? gridview 配置数据源的时候,怎么没有指定来自表或视图的列那一项? 问个很奇怪的数字筛选问题
bool ShareBooleanVar = false;
Func<bool> f1 = () => ShareBooleanVar = !ShareBooleanVar;
Func<bool> f2 = () => !(ShareBooleanVar = !ShareBooleanVar);
Func<bool> f3 = () => ShareBooleanVar = true;
Console.WriteLine((f1() && f2() && f3()));
Console.WriteLine((f1() && f2() && f3()));
Console.WriteLine((f1() && f2() && f3()));
输出
True
False
True