2017-03-25 5 views
0

これで壁に私の頭を長時間ノックしています。 私は学校のブラックジャックゲームを作っています。私は現在、カードの価値を得て、自分のリストに追加しようとしています。はint型をシステムコレクションgenericリストに暗黙的に変換することはできません

これをvarに設定すると、上にコメントアウトされているように見えますが、それをリストに切り替えようとすると、私は上記のエラーが表示されます。私はそれが私が行方不明になっていることは確かだ。

GetCardValueメソッドを呼び出そうとすると、最後にエラーがポップアップします。

ありがとうございました。

 /*var cardValue = 0; 
     foreach (Card card in userHand) 
     { 
      card.GetCardValue(); 
      cardValue = card.GetCardValue(); 
     }*/ 

     List<int> cardValue = new List<int>(); 
     foreach (Card card in userHand) 
     { 
      card.GetCardValue(); 
      cardValue = card.GetCardValue(); 
     } 
+0

_cardValue_がGetCardValueリターンしばらく '一覧'ですint。あなたのコメントアウトされたコードは動作しますが、結果は間違っています。 userHandの最後のカードの値を返します – Steve

+0

意図的に 'GetCardValue'を2回呼びますか? –

+0

ちょっとスティーブ。私はトップコードが間違っていることを知っている、私はちょうど私が私の頭の中でこれを解決しようとしている方法で私の進歩を示していた。 Rufus ...それは素晴らしい質問です。 –

答えて

1

あなたがAdd、その後、追加したい場合は、次の

List<int> cardValue = new List<int>(); 

    foreach (Card card in userHand) 
    { 
     card.GetCardValue(); 

     // get Card Value and Add it to the list: 
     cardValue.Add(card.GetCardValue()); // <- Add; not assign (=) 
    } 

あなたはコードを短くするのLINQを使用することができます。

List<int> cardValue = userHand 
     .Select(card => card.GetCardValue()) 
     .ToList(); 
+0

ありがとうございました...エラーはなくなりました。今、次の問題hahahに。 –

関連する問題