C# C中的引用#
我正在尝试为一个游戏实现一个简单的计数器。我希望能够使用一个以字符串和int作为参数的方法来增加fire、water和earth属性 然而,我不确定以下措施是否有效。我不确定elements数组中的int是否指向同名的原始属性,或者它是否只是在数组中复制它C# C中的引用#,c#,C#,我正在尝试为一个游戏实现一个简单的计数器。我希望能够使用一个以字符串和int作为参数的方法来增加fire、water和earth属性 然而,我不确定以下措施是否有效。我不确定elements数组中的int是否指向同名的原始属性,或者它是否只是在数组中复制它 class TypeCounter{ int fire = 0; int water = 0; int earth = 0; string[] elementNames = { "fire", "water
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()方法时,我希望第一个print语句的输出为
0
,第二个语句的输出为1
。您的方法将增加元素
数组中的项,而不是火
,水
,地球
字段。考虑为此使用字典。另请参阅:“C#中的指针,何时使用?”-这与指针无关。只需执行并查看发生了什么。“但我不确定以下操作是否有效。”
-测试时会发生什么?“我希望输出为0“
-测试时会发生什么?堆栈溢出是编译器的一个很差的替代品。