Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何减少if-else语句的数量(例如,避免硬编码值)?_Vb.net_Hardcoded - Fatal编程技术网

Vb.net 如何减少if-else语句的数量(例如,避免硬编码值)?

Vb.net 如何减少if-else语句的数量(例如,避免硬编码值)?,vb.net,hardcoded,Vb.net,Hardcoded,如何在不硬编码每个Jar版本的情况下做到这一点? 因此,在每一个ElseIf中,它都会检查版本,如果是(例如1.2.5),然后相应地将软件下载到用户选择的路径+\+type+\+version+.jar。问题是有更多的版本(我想超过30个),我不想硬编码所有的版本 If JarVer = "1.2.1" Or JarVer = "1.2.2" Or JarVer = "1.2.3" Or JarVer = "1.2.4&quo

如何在不硬编码每个Jar版本的情况下做到这一点? 因此,在每一个
ElseIf
中,它都会检查版本,如果是(例如1.2.5),然后相应地将软件下载到用户选择的路径+\+type+\+version+.jar。问题是有更多的版本(我想超过30个),我不想硬编码所有的版本

If JarVer = "1.2.1" Or JarVer = "1.2.2" Or JarVer = "1.2.3" Or JarVer = "1.2.4" Then
                My.Computer.Network.DownloadFile(
                "https://assets.minecraft.net/1_2/minecraft_server.jar",
                Path + "\" + SW + "_" + JarVer + ".jar")
            ElseIf JarVer = "1.2.5" Then
                My.Computer.Network.DownloadFile(
                "https://assets.minecraft.net/1_2_5/minecraft_server.jar",
                Path + "\" + SW + "_" + JarVer + ".jar")
            ElseIf JarVer = "1.3.1" Then
                My.Computer.Network.DownloadFile(
                "https://launcher.mojang.com/v1/objects/d8321edc9470e56b8ad5c67bbd16beba25843336/server.jar",
                Path + "\" + SW + "_" + JarVer + ".jar")
            ElseIf JarVer = "1.3.2" Then
                My.Computer.Network.DownloadFile(
                "https://launcher.mojang.com/v1/objects/82563ce498bfc1fc8a2cb5bf236f7da86a390646/server.jar",
                Path + "\" + SW + "_" + JarVer + ".jar")
            ElseIf JarVer = "1.4.2" Then
                My.Computer.Network.DownloadFile(
                "https://launcher.mojang.com/v1/objects/3de2ae6c488135596e073a9589842800c9f53bfe/server.jar",
                Path + "\" + SW + "_" + JarVer + ".jar")
            ...

除非你有一个一致的模式,否则它们必须在某个地方硬编码


我会考虑将列表放在数据表或字典中,然后从版本中查找URL。

您需要定义<代码> jARVER < /C>和下载路径之间的关系。如果你不想硬编码,你可以把它写进一个Excel表格或文本文件中,然后读出来计算下载量。也可以注意,一般来说,很多If-else有时是合适的。或者,在某些情况下,可以使用switch语句或字典。这些与语言无关的概念适用于大多数编程语言。