我正在为一个玩扑克的程序编写代码。我的问题是关于列表中的参考和价值传递。
我的程序有一个 Player 对象、一个 Dealer 对象和一个 PokerTable 对象。PokerTable 有两个玩家列表,一个称为玩家,一个称为获胜者。玩家列表被传递给 Dealer 对象的DetermineWinner 方法,该方法传回包含获胜者(或在平局情况下为获胜者)的列表。PokerTable 然后使用获胜者列表来确定向谁付款。
class PokerTable
{
private Dealer dealer;
private List<Player> players;
private List<Player> winners;
private void EndHand()
{
winners = dealer.DetermineWinner(players);
PayPlayers();
winners.Clear();
PrepareForNextHand();
}
private void PayPlayers()
{
/* code here uses the winners list to determine
* how much to pay each winner and adds that money
* to the player object */
}
我的问题是向获胜者列表中的玩家对象添加金钱是否也会影响原始玩家列表中的原始玩家对象。