Tag: 布尔逻辑

微软更喜欢虚假价值?

我正在读Jon Skeet的书。 (#4) 但有一件事(其中包括)引起了我的注意: 话题:布尔? 他在一张表中写道:( X,Y是bool?) X | Y | X & Y ————————— true null null 好吧…所以null是决定的人。 bool操作数在这里失去了。 X | Y | X & Y ————————— false null false 为什么? 为什么这里的bool操作数正在考虑中,而在之前的样本中,是谁决定了结果? 似乎真假在不同的地方有朋友…. 🙂

是否有一种较少复杂的比较文件版本的方法?

我编写了一个函数来比较客户端当前拥有的文件版本和服务器上文件的最新版本。 客户端将“quad”(Major.Minor.Build.Private)版本号作为字符串传递给服务器,然后服务器使用FileVersionInfo: // clientFileVersion will be in “quad” format, a la “3.1.4.1” private bool ServerFileIsNewer(string clientFileVersion, FileVersionInfo serverFile) { // Don’t say I never learned nuthin’ from Steve McConnell const int MAJOR_INDEX = 0; const int MINOR_INDEX = 1; const int BUILD_INDEX = 2; const int PRIVATE_INDEX = 3; string[] versionStrArray = clientFileVersion.Split(‘.’); int FileMajorPartClient; […]

C#如何检查两个值中的一个是否为TRUE?

对于这里的C#专家来说应该是一个简单的问题。 我基本上想要检查一个值或另一个值是否为TRUE,代码的狂野刺戳如下: if ((Boolean.Parse(staff.getValue(“Male”)) | Boolean.Parse(staff.getValue(“Female”))) { // is true } 它是否正确? 谢谢

如何构建真值表生成器?

我正在寻找一个真实表生成器作为个人项目。 这里和这里有几个基于网络的在线网站。 (Example screenshot of an existing Truth Table Generator ) 我有以下问题: 我应该如何解析表达式,如: ((P => Q)&(Q => R))=>(P => R) 我应该使用像ANTLr或YACC这样的解析器生成器,还是使用直接的正则表达式? 一旦我解析了表达式,我该如何生成真值表? 表达式的每个部分都需要划分为最小的组件,并从表的左侧重新构建到右侧。 我该如何评价这样的东西? 任何人都可以向我提供有关解析这些任意表达式并最终评估解析表达式的提示吗?

编译器是否继续评估一个表达式,如果第一个为false,则all必须为true?

我确定此问题可能已经得到了回答,所以我道歉,但我找不到合适的搜索条件来找到答案。 给出以下代码示例, db.GetRecords().Any()被执行? string s = “Z”; bool x = s.IndexOfAny(new[] { ‘A’, ‘B’ }) > 0 && db.GetRecords().Any();