gpt4 book ai didi

c# - 通过字符串的值访问类中的变量

转载 作者:太空宇宙 更新时间:2023-11-03 23:00:31 26 4
gpt4 key购买 nike

我正在做一个基于文本的冒险,想要一个 function在我的 player class 中,通过接受 string 来增加类中的变量(对于变量名)和 int (为金额)

class player
{
private int stat1 = 1;
private int stat2 = 2;
public void statincrease(string name, int amount)
{
//variable called by string// += amount
}
private void main()
{
player.statincrease(stat2,5);
}
}

很抱歉,如果我没有很好地解释自己,但是对此的任何帮助将不胜感激

最佳答案

我可以告诉您您是这方面的新手,所以我会对您放轻松。

有几种方法可以解决您所要求的问题。

我的第一个建议是为您需要的每个名称创建一个方法,因此您可以使用 shieldStatIncrease(int amount) 而不是字符串名称; swordStatIncrease(int 量);等等

如果你不想这样做,那么你可以使用 if 或 switch 语句

public void statincrease(string name, int amount)
{
switch(name)
{
case "stat1":
//Increase stat1
break;
case "stat2":
//Increase stat2
break; //etc...
}
}

如果这不是您所说的,那么我深表歉意...让我知道,我会调整我的答案。

现在,如果您想获得真正的技术知识,您可以使用反射来查找属性名称并为您调整变量……但我不建议这样做;尤其不适合游戏,因为反射会产生更多开销。

关于c# - 通过字符串的值访问类中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43290468/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com