c# – 嵌套和非嵌套的elseelse ifs之间有区别吗?

c# – 嵌套和非嵌套的elseelse ifs之间有区别吗?,第1张

概述我有一个任务在于将旧的vb代码重写为c#,我遇到了这个问题 If (termNumber = TermNumberCode.FallWinter) Then Dim first_term As String = " ((Course.dbo.CourseList.[Year])=@TermYear) AND ((Course.dbo.CourseList.TermNumber)=3) " 我有一个任务在于将旧的vb代码重写为c#,我遇到了这个问题

If (termNumber = TermNumberCode.FallWinter) Then    Dim first_term As String = " ((Course.dbo.CourseList.[Year])=@TermYear) AND ((Course.dbo.CourseList.TermNumber)=3)  "    Dim second_term As String = " ((Course.dbo.CourseList.Year)=@TermYear+1) AND ((Course.dbo.CourseList.TermNumber)=1)  "    query &= "  AND ( ( " & first_term & " ) OR ( " & second_term & " ) )  "Else    If (termNumber = TermNumberCode.Summer) Then        query &= " AND ((Course.dbo.CourseList.[Year])=@TermYear) AND ((Course.dbo.CourseList.TermNumber)=2)  "    ElseIf (termNumber = TermNumberCode.Fall) Then        query &= " AND ((Course.dbo.CourseList.[Year])=@TermYear) AND ((Course.dbo.CourseList.TermNumber)=3)  "    ElseIf (termNumber = TermNumberCode.Winter) Then        query &= " AND ((Course.dbo.CourseList.[Year])=@TermYear) AND ((Course.dbo.CourseList.TermNumber)=1)  "    End IfEnd If

我想知道,这是否像写这样或者是否有任何特殊意义或嵌套ifs那样?

If (termNumber = TermNumberCode.FallWinter) Then    code...Else if (termNumber = TermNumberCode.Summer)    code...Else If (termNumber = TermNumberCode.Fall)     code...Else //(termNumber = TermNumberCode.Winter)    code...
解决方法 表格

if #1..    else   if #2..   else if #3..   else ..end

相当于

if #1..else if #2..else if #3..else ..

也就是说,在else中直接嵌套不会影响嵌套分支的逻辑.这可以无限期地重复 – 尽管非嵌套形式在这里可以说更清楚.

然而,在所呈现的代码中,else和最后的else if被转置,如果termNumber被约束到被检查的集合,则这将没有区别.但这是一个区别 – 如果termNumber是TermNumberCode.SpringBreak怎么办? – 因此必须与上述转换分开考虑..

总结

以上是内存溢出为你收集整理的c# – 嵌套和非嵌套的else / else ifs之间有区别吗?全部内容,希望文章能够帮你解决c# – 嵌套和非嵌套的else / else ifs之间有区别吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1218792.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存