Tag: if statement

内部的“If(.. || ..)”和“If(… && …)”构造中发生了什么?

我只是想知道“ if OR ”和“ if AND ”内部会发生什么。 我觉得使用&&和||只是语法糖 并且在内部所有案例都构建为单个if语句。 紧凑forms||: if(a || b || c) { DoSomething(); } 潜在的内部forms: if(a) { DoSomething(); } else if(b) { DoSomething(); } else if(c) { DoSomething(); } 紧凑forms&&: if(a && b && c) { DoSomething(); } 潜在的内部forms: if(a) { if(b) { if(c) { DoSomething(); } } } 这两个例子的表现有什么不同吗? *编辑:将其他内容添加到|| […]

数据库错误:位置0没有行

我相信这个问题是几个月前被问到的,但我相信我的情况有所不同,同样的规则也许不适用。 每次我执行此方法时都会弹出相同的错误。 位置0没有行。如果我将[0]改为[1]或[15]; [1]等处没有行。这是否意味着我的数据库连接都没有? 我应该写一些if语句来确定行是否在那里? public bool UpdateOrderToShipped(string order) { orderNumber = order; string batch = ConfigurationManager.AppSettings[“SuccessfulOrderBatch”]; string statement = “UPDATE SOP10100 SET BACHNUMB = ‘”+ batch +”‘ WHERE SOPNUMBE = @SOPNUMBE”; SqlCommand comm = new SqlCommand(statement, connectionPCI); comm.Parameters.Add(“SOPNUMBE”, orderNumber); try { comm.Connection.Open(); comm.ExecuteNonQuery(); comm.Connection.Close(); } catch(Exception e) { comm.Connection.Close(); KaplanFTP.errorMsg = “Database error: ” […]

在C#中的if语句中测试多个值

C#中是否有简写语法来实现: if ((x == 1) || (x==2) || (x==5) || (x==13) || (x==14)) ……更短? 像(假设)的东西 if (x in {1, 2, 5, 13, 14}) 我“感觉”它就像它存在一样,我只是在精神上和Googly。 实际上,我必须经常测试一堆枚举,这是不可读的。 如果语言已经支持,我也讨厌做一个小帮手function。 提前致谢! 编辑 有一些聪明的解决方案涉及列表…但我希望有一种纯粹的逻辑结构。 如果它不存在,那就这样吧。 谢谢!

if语句中的赋值

我有一个类Animal ,它的子类Dog 。 我经常发现自己编写以下代码: if (animal is Dog) { Dog dog = animal as Dog; dog.Name; … } 对于变量Animal animal; 。 是否有一些语法允许我写如下: if (Dog dog = animal as Dog) { dog.Name; … }

在方法返回的If-Else语句中,是否可以明确声明是否可以隐式遵循?

我有一个方法来检查某些东西,并根据这些检查返回一个布尔值。 它涉及单个分支If部分按顺序检查约5个条件。 如果这些条件中的任何一个返回true,则该方法将return true; 。 如果没有条件返回true,则该方法将return false; 。 由于If部分之后的代码只会在没有条件为真的情况下运行,因此该代码在逻辑上与包含实际的Else语句相同。 那么在这种情况下实际写入Else声明是否更好? 编辑 事实certificate,我需要有关哪些条件实际上为其中某些条件触发了“true”的信息,因此我更改了方法以返回int,其中-1表示“false”情况。 逻辑仍然存在,如果没有条件成立,它将返回-1。 所以,我不再有return (cond1 || cond2 || cond3 || cond4 || cond5);选项return (cond1 || cond2 || cond3 || cond4 || cond5); ,但我也感谢大家的建议,因为我确实没有想过它(主要是因为cond3是一个非常复杂的条件,涉及在两对DateTime对象的中点检查交集,所以它看起来很难看)。 虽然方法的性质发生了变化,但这个问题的性质还没有,所有答案仍然基本适用…… 代码是目前,用它来解释它并删除所有通过cond5定义cond1的无关代码…… if (cond1) { return 1; } else if (cond2) { return 2; } else if (cond3) { return 3; } […]