道歉對於真正糟糕的標題,但我不太確定如何更好地表達它。我正在創建一個相當簡單的程序,只是爲了玩弄C#中的繼承,涉及對玩家發牌。我在想,最好的辦法是什麼,有什麼區別,分配一個手一個球員的這兩種方式之間:調用方法vs將對象分配給方法AND void返回類型vs對象返回類型
在Player類:
public Player takeHand(List<Card> cards)
{
this.hand = cards;
return this;
}
,然後在「府」內類(即經銷商/主類),遍歷球員和交易出去卡:
List<Player> players = new List<Player>() {new Player.. new Player..};
List<List<Card>> hands;
for (int i = 0; i < players.count; i++)
{
hands.Add(new List<Card>());
for (int j = 0; j < cardsToDeal; j++)
{
hands[i].Add(dealCard());
}
players[i].takeHand(hands[i]); // correct?
players[i] = players[i].takeHand(hands[i]); // correct?
}
我的第一個問題是,這是調用方法「takeHand」的正確方法是什麼?他們似乎都工作一致。
我的第二個問題是,然後讓「takeHand」方法有一個'void'返回,然後不返回'this'是什麼區別?即:
,然後做:
players[i].takeHand(hands[i]);
它仍然似乎我期望的工作,並卡正確地分配給玩家。
感謝您的任何意見/建議! FYP
取代傑克關於第二部分,它是唯一有用的離開'返回this'如果你打算使用[鏈式方法調用(HTTP:// stackoverflow.com/questions/1119799/method-chaining-in-c-sharp) – Kilazur