有人可以帮我建立这种方法吗?

时间:2019-05-02 06:37:51

标签: c#

因此,我正在制作一个名为Crazy 8的纸牌游戏。在此过程中,我将负责建立手形课程。

问题在于手类具有我无法构造的这两种方法。 RemoveCard(Card):布尔值(如果可能,从Hand移除给定的Card。如果成功,则返回true) + RemoveCardAt(int):布尔值(在整数参数给定的索引处删除卡。如果成功,则返回true。)

假设该卡存储在一个列表中,名为_hand。

我尝试使用for循环获取给定的卡,然后使用_hand.remove(card)并返回true。但是测试服说我错了。

public Boolean RemoveCard(Card card)
        {
            for (int i = 0; i < _hand.Count(); i++)
            {
                if (_hand[i] == card)
                {
                    _hand.RemoveAt(i);
                    return true;
                }
            }
            return false;

我想知道我的逻辑是否正确吗?

1 个答案:

答案 0 :(得分:0)

KookieMonster确实指出了寻找位置的方向。 您需要为类Card实现比较和相等运算符。 您可以通过实现接口IEqualityIComparable(如果我正确)来实现此目的,或者编写自己的静态方法来检查两个给定的卡对象是否相同。