私はC#に新しいので、実際にリストを使用したことはありません。私はこれまでに多くの良いことを得てきましたが、私は1つの問題にぶつかりました。変数がリストに変更されます<T>
public static List<player> data(string ply, int val)
{
string rtn = "-";
List<player> playerdata = new List<player>()
{
new player() { plr = "player1", name = "pl A", one = 0, two = 0, twopair = 0 },
new player() { plr = "player2", name = "pl B", one = 0, two = 0, twopair = 1 }
};
var game = playerdata.Where(p => p.plr == ply);
foreach (var player in game)
{
player.one = val; //This is where my problem is
rtn = player.name;
}
return playerdata;
}
したがって、foreachでは、player.et = val; ..それはうまく動作します。しかし、私は本当に "player.et"を動的な入力として持つことができたいと思っています。だから私は
data(string ply, int val, SOMETHING HERE)
が、私はそれを行うにはどうすればよい
foreach (var player in game)
{
SOMETHING HERE = val;
rtn = player.name;
}
にリンクされて送信することができますか?
ありがとうございます、事前に:D
あなたの質問はちょっと混乱しています。あなたはあなたの質問を編集し、あなたがリストを使って何をしようとしているのか少し詳しく説明できますか?現在のコードは、投稿した内容に基づいてこの時点では作成されないため、探しているものを伝えるのは難しいです。 – JasCav
さて、メソッドに別のパラメータを追加することができます。しかしこれはあまり意味がありません。ループの繰り返しごとに値を上書きするので、最後の割り当てだけがスティックされます。 – David
あなたはあなたが 'ref'パラメータを持っていると言っているのですが、なぜならここに' val'を代入するために 'SOMETHING HERE'と' val'の両方であなたのメソッドを呼び出す何かがそうしないのでしょう'ref'パラメータを渡さずにFYI、 'ref'sは悪です:http://blog.devbot.net/conventions-refs/ – Smudge202