不能隐式地将类型int转换为系统集合通用列表

时间:2017-03-25 18:57:54

标签: c#

我一直在墙上敲我的头太久了。 我正在为学校制作二十一点游戏,我正在尝试获取卡片值并将它们添加到自己的列表中。

当我将它设置为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();
        } 

1 个答案:

答案 0 :(得分: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();