问题描述
如何在不对每个Jar版本进行硬编码的情况下执行此操作?
因此,在每个ElseIf
中,它都会检查版本(例如1.2.5)是否为该版本,然后相应地将软件下载到用户+ \ + type + _ + 版本 + .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")
...
解决方法
除非您具有一致的模式,否则它们必须在某个地方进行硬编码。
我会考虑将列表放在数据表或字典中,然后从版本中查找网址。