【发布时间】:2011-10-25 05:31:37
【问题描述】:
我正在将一些 VB.NET 代码转换为 C#,因为我对它更熟悉,它可以帮助我更快地解决问题。然而,我发现这段代码在 VB.NET 中不是错误——但将其转换为 C# 会产生编译器错误。
VB.NET 代码
Select Case name
Case "FSTF"
.....
Case "FSTF"
.....
End Select
C# 转换代码
switch(name) {
case "FSTF":
....;
break;
case "FSTF":
....;
break;
}
错误是:
标签 'case "FSTF":' 已出现在此 switch 语句中。
这里的解决方案是什么——这是否意味着在 VB.NET 代码中,第二个 case 语句只是一个虚拟语句——还是第一个 case 语句是一个虚拟语句?
【问题讨论】:
-
你是什么意思“只是假的”?
-
如果我有以下陈述 int a; a=1; a=2;那么我会相信语句 a=1 是虚拟的 - 因为执行该语句没有意义;我知道,如果没有关于语句(函数调用等)的信息,就很难说……所以我的问题是先执行哪个语句,接下来执行哪个语句?
-
我从未听说过这个词。
-
dummy来自dumb,意思是unable to speak。dummy然后变成了人类的模拟物(也是人体模型或木偶)。最终,任何模拟或占位符的东西都变成了假人。Lorem ipsum通常称为dummy copy或dummy text。然后最终任何不起作用的东西。在编码中,正如@user331225 所说,这归结为 NOOP。 -
我认为这里真正的问题是:在 VB.NET 中,当 2 个 Case 部分具有相同的标签时会发生什么?
标签: c# vb.net switch-statement case-statement vb.net-to-c#