2013-03-21 61 views
0

我正在将VB应用程序转换为C#。我遇到了这个选择陈述,并且很困惑为什么它甚至是必要的。是不是'case else'就像C#switch语句中的默认值一样?VB Select Statement

Select Case dbp.DbType 
Case Else 
dbcmd.CommandText &= " [" & dbp.ParameterName & "]='" & dbp.Value.ToString().Replace("'", "''") & "'" 
End Select 
+0

删除select语句的标签,因为它可以用'混淆sql'选择 – Saju 2013-03-21 19:39:09

+1

看起来它被列入处理这是从来没有实现的一些配置设置。离开它清楚地表明,如果他们想要实施它,那么这是值得注意的地方。 – 2013-03-21 19:57:34

回答

2

你是对的,这完全没有必要。在没有其他Case条款,这个代码转换为:

dbcmd.CommandText &= " [" & dbp.ParameterName & "]='" & dbp.Value.ToString().Replace("'", "''") & "'" 
1

您发布的Select Case代码是多余的。只要屁股没有其他Case ConditionHere,行dbcmd...将始终执行,即case语句可以被删除。

1

正确; VBA中的CASE ELSE语句与C#开关的default语句相似。

CASE ELSEdefault都将执行,如果没有其他条件都满足;我假设你的VBA代码更多,因为独立的CASE ELSE没有多大意义。