C#   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# – 嵌套和非嵌套的else / else ifs之间有区别吗?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_674_4@ 我有一个任务在于将旧的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 If
End 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之间有区别吗?所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。