私はある種の小さなRPG(ロールプレイングゲーム)をやっています。会話では、プレーヤーの特定の変数に影響を与える決定があります。より速くそれを行うための方法はあります...あなたが見ることができるように関数パラメータとしての変数?
public string Name, Nickname;
public int Age;
public void Decision(string Var, string Input)
{
if (Var == "Name")
Name = Input;
else if (Var == "Nickname")
Nickname = Input;
else if (Var == "Age")
Age = Convert.ToInt32(Input);
}
、それが唯一の3つの変数のためにかなり長いですが、もっとあります:私はあなたが私のものよりも効果的な方法を知っていた場合には不思議でしたか?このような何か:
public void Decision(Variable Var, string Input)
{
Player.Var = input;
}
編集:私は2つの答えのミックスを使用します。
public string Nom, Prenom;
public int Age;
public void Decision(InfoType type, string Input)
{
switch (type)
{
case InfoType.Name:
Nom = Input;
break;
case InfoType.Prenom:
Prenom = Input;
break;
}
}
public void Decision(InfoType type, int Input)
{
switch (type)
{
case InfoType.Age:
Age = Convert.ToInt32(Input);
break;
}
}
'オブジェクト 'を渡しますか? – melancia
'int Age'は決して' == string Var'ではありません。これを代わりに使ってみましょう 'if(Age == Convert.ToInt32(Var){Age = Convert.ToInt32(Input);}' –
あなたが "Var"の値を渡すことができるのであれば、どの変数を変更したいのか分かります。 –