Vb.net 全局变量。处理此项目的最佳方法

Vb.net 全局变量。处理此项目的最佳方法,vb.net,Vb.net,我正在构建一个游戏,玩家在13个区域中的一个区域之间移动-我将其定义为全局变量gsCurrentlyIn-通过该区域某些统计数据的每一轮,例如Region1需要更新-我还将其定义为全局变量,例如giRegion1Pop for population,giRegion1PlayerPercent for popularity等 现在的问题是如何传递播放器当前要更新该区域的适当命名的全局变量的位置的值 因此,我们: gsCurrentlyIn = "Region1" 但是我们无法建立要调用的正确全

我正在构建一个游戏,玩家在13个区域中的一个区域之间移动-我将其定义为全局变量gsCurrentlyIn-通过该区域某些统计数据的每一轮,例如Region1需要更新-我还将其定义为全局变量,例如giRegion1Pop for population,giRegion1PlayerPercent for popularity等

现在的问题是如何传递播放器当前要更新该区域的适当命名的全局变量的位置的值

因此,我们:

gsCurrentlyIn = "Region1"
但是我们无法建立要调用的正确全局变量的名称,因为它将是一个字符串,而不是变量的实际名称

"gi" + gsCurrentlyIn + "Pop" = 4 wont work.
有没有比我现在使用的100多个全局变量更好的方法

对于每个变量,我可能会有大量的if/then或case语句——同样,这似乎并不正确


有些人建议反思,但我觉得这太令人困惑了。如果这是唯一的办法,也许有人能帮我把它说出来。但我发现很难相信这有那么复杂。

使用数组或集合/字典,而不是所有不同的变量。当前区域不是指向数组中正确索引的数字

绝对不要使用多维数组。为跟踪的每个属性(人口、流行度等)构建一个具有属性的类。然后使用集合ie:ListOf T或数组为每个区域的类保存一个实例。

我认为标记应该是vb.net而不是vb?因为这里有一个reflectionhmm的引用-是的,可能是一个公共多维数组-我来试试看。谢谢