【发布时间】:2016-10-31 07:18:30
【问题描述】:
如何重构此代码以避免重复自己?特别是如果有更多的案例!我已经阅读了有关使用字典简化选择案例的信息,但我不知道在这种情况下如何使用它。有什么建议吗?
Dim sPath As String = String.Empty
Dim aThing As Decimal
Select Case True
Case (aThing < 7.5)
sPath = "~/images/Grafik_7.5.png"
Case (aThing >= 7.5 AndAlso aThing < 8.75)
sPath = "~/images/Grafik_18.75.png"
Case (aThing >= 58.75 AndAlso aThing < 60)
sPath = "~/images/Grafik_60.png"
Case (aThing >= 60 AndAlso aThing < 61.25)
sPath = "~/images/Grafik_61.25.png"
Case (aThing >= 61.25 AndAlso aThing < 62.5)
sPath = "~/images/Grafik_62.5.png"
Case (aThing >= 62.5 AndAlso aThing < 63.75)
sPath = "~/images/Grafik_63.75.png"
Case (aThing >= 63.75 AndAlso aThing < 65)
sPath = "~/images/Grafik_65.png"
Case (aThing >= 65 AndAlso aThing < 66.25)
sPath = "~/images/Grafik_66.25.png"
Case (aThing >= 66.25)
sPath = "~/images/Grafik_67.5.png"
End Select
【问题讨论】:
-
如果您确实想坚持使用
Select Case,则没有必要在每个Case上指定下限,因为您已经保证通过不匹配之前的任何一个来满足这一点案例。
标签: vb.net select refactoring dry