リスト
this.LstCardsWithQt[i].Qt != 0
上のエラーを取得する
/// <summary>
/// Number of cards in the deck
/// </summary>
public byte NbTotalCards
{
get
{
byte nbCards = 0;
for (byte i = 0; i <= this.LstCardsWithQt.Count; i++)
{
if (this.LstCardsWithQt[i].Qt != 0)
{
if(this.LstCardsWithQt[i].Qt.Equals(2))
nbCards += 2;
else
{
nbCards += 1;
}
}
else
{
nbCards += 0;
}
}
return nbCardss;
}
}
どこ
public List<DeckEntry> LstCardsWithQt
と
public DeckEntry(Card card, byte qt)
{
this.Card = carte;
this.Qt = qt;
}
...それはおそらく非常に簡単ですが、私はその部分にこだわっている、知っています
ArgumentOutOfRangeExeption( "索引が範囲外でした。あなたは間違った方法であなたのコレクションをループしている 負でないコレクションのサイズよりも小さい」)
forループでは、Count要素のみを持つため、<=を<に変更する必要があります。 – hazjack
アイテムの 'Qt'が3以上であれば' nbCards'を1だけインクリメントしますか?なぜ、 'nbCards + = 0;'行?それは何も役に立たない。なぜ '=='の代わりに 'Equals'を使ってバイトを比較するのですか? –
リストなし。リスト –
Paparazzi