【发布时间】:2013-09-13 19:10:28
【问题描述】:
我最近从 VB 切换到 C#。我注意到的一件事是,在 C# 中,我在使用比较作为案例的一部分时遇到了问题。我不知道如何用语言来解释它,所以这里是我正在尝试做的一个例子。
在 VB 中,我的代码看起来像这样并且运行良好。
Select Case ExamScore
Case Is >= 90
Grade = "A"
Case Is >= 80
Grade = "B"
Case Is >= 70
Grade = "C"
Case Is >= 60
Grade = "D"
Case Else
Grade = "F"
End Select
另一方面,在 C# 中,Visual Studio 告诉我 ">=" 是一个无效的表达式。
switch (examScore)
{
case >= 90: grade = "A"; break;
case >= 80: grade = "B"; break;
case >= 70: grade = "C"; break;
case >= 60; grade = "D"; break;
default: grade = "F"; break;
}
我在这里做错了什么,还是在 C# 中根本不可能做到这一点?
非常感谢您!
【问题讨论】:
-
@Dominic - 虽然这是同一个问题,但我认为这些都不是正确的重复,因为这里的代码不能完全写成
switch/case。 -
jyparask 的答案是最直接的转换 - VB 的“选择案例”与 C# 的“开关”完全不同 - 它们仅等效于精确的整数或字符串匹配。
标签: c# vb.net switch-statement select-case