我正在尝试为游戏实现一个简单的计数器。我希望能够使用一个以字符串和int作为参数的方法来增加fire,water和earth属性。
但我不确定以下内容是否有效。我不确定elements数组中的int将指向同名的原始属性,或者它是否只是在数组中复制它。
class TypeCounter{
int fire = 0;
int water = 0;
int earth = 0;
string[] elementNames = { "fire", "water", "earth"};
int[] elements = {fire, water, earth};
public void AddTo(string element, int val){
int keyIndex = Array.FindIndex(elementNames , element);
elements[keyIndex] += val;
}
}
我希望能够做到以下几点:
TypeCounter counter = new TypeCounter();
public Run(){
print counter.fire;
counter.AddTo("fire", 1);
print counter.fire;
}
当我执行Run()方法时,我希望第一个打印语句的输出为0
,第二个打印语句的输出为1
。
答案 0 :(得分:4)
您的方法会增加elements
数组中的项目,而不是fire
,water
,earth
字段。