Sek*_*har 6 c# vb.net case-statement switch-statement vb.net-to-c#
我正在将一些VB.NET代码转换为C#,因为我对它更熟悉,它可以帮助我更快地解决问题.但是,我遇到了这个代码,这不是VB.NET中的错误 - 但将其转换为C#会产生编译器错误.
Select Case name
Case "FSTF"
.....
Case "FSTF"
.....
End Select
Run Code Online (Sandbox Code Playgroud)
switch(name) {
case "FSTF":
....;
break;
case "FSTF":
....;
break;
}
Run Code Online (Sandbox Code Playgroud)
错误是:
Label'case"FSTF":'已经出现在这个switch语句中.
这里的解决方案是什么 - 这是否意味着在VB.NET代码中,第二个case语句只是一个虚拟 - 或者第一个是假的?
Jon*_*eet 13
如果
testexpression
匹配expressionlist
多个子句中的Case
子句,则只运行第一个匹配后的语句.
所以这里第二种情况实际上是多余的.就个人而言,我更喜欢C#方法突出显示几乎肯定是一个未被注意的编程错误,而不是故意引入重复的案例......