加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#使用foreach创建一张卡片

发布时间:2020-12-15 04:17:04 所属栏目:百科 来源:网络整理
导读:这是作业任务FYI.谢谢至少看这个. 因此,我们正在了解枚举,列表 IComparable T和结构,我们正在创建一张卡片.我有一个卡结构,说要创建一张卡,它需要一个等级和西装.我有两个枚举. 我遇到了NewDeck()方法的问题. 我们被赋予了使用的方法头,并给出了一个提示“使
这是作业任务FYI.谢谢至少看这个.

因此,我们正在了解枚举,列表<> IComparable< T>和结构,我们正在创建一张卡片.我有一个卡结构,说要创建一张卡,它需要一个等级和西装.我有两个枚举.

我遇到了NewDeck()方法的问题.

我们被赋予了使用的方法头,并给出了一个提示“使用静态方法GetValues循环遍历所有等级枚举器”.

我们也被给了foreach循环.我们不应该称之为排序,因为循环遍历所有队伍应该创建已经排序的列表.

我无法知道如何向卡片添加卡片.要添加卡,我会认为我可能会使用Card.Add,但它没有显示在代码完成,这不是一个选择,我不知道为什么.这是我的卡结构的代码 –

namespace Cards
{
    struct Card : IComparable<Card>
    {
        public Suit Suit { get; private set; }
        public Rank Rank { get; private set; }
        public Card(Suit suit,Rank rank) :
            this()
        {
            this.Suit = suit;
            this.Rank = rank;
        }
        public override string ToString()
        {
            return string.Format("{0} {1}",(Char)this.Suit,this.Rank);
        }

        public int CompareTo(Card other)
        {
            return Rank.CompareTo(other.Rank);
        }
    }

    public enum Suit { Spades = 9824,Clubs = 9827,Diamonds = 9830,Hearts = 9829 }

    public enum Rank { Ace,Deuce,Three,Four,Five,Six,Seven,Eight,Nine,Ten,Jack,Queen,King };
}

这里是我的newDeckMethod()的代码

public static List<Card>  NewDeck()
        {
            foreach (Cards.Rank r in Enum.GetValues(typeof(Rank)))
               //Card.Add           

        }

解决方法

你需要创建一个列表;现在你的NewDeck()方法没有定义一个.
public static List<Card> NewDeck() {
    List<Card> deck = new List<Card>();
    foreach (Cards.Rank r in Enum.GetValues(typeof(Rank))) {
        foreach (Cards.Suit s in Enum.GetValues(typeof(Suit))) {
            deck.Add(new Card(s,r));
        }
    }

    return deck;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读