对枚举列表进行排序

时间:2013-11-01 02:16:53

标签: c# list sorting struct enums

所以我有一个枚举

public enum CardValue
{
    Deuce = 2, Three, Four.... //And so on..
}

然后我也有一个结构

public struct Card
{
   public CardSuit S;
   public CardValue CV;

   public Card(CardSuit Suit, CardValue value)
   {
       S = suit;
       CV = value;
   }
}

然后我用一些卡片值(所有随机)填充我的列表。我正在尝试对它们进行排序,以便我可以从最高到最低的值,我似乎无法正确。我在想的是:

List<Card> Hand1 = new List<Deck>();
Hand1.Sort(CardVale.Ace => CardValue.Duece)

我只是想知道出了什么问题。如果有人能够帮助我,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

Sort采用一个表达式,将列表中的类转换为要按

排序的属性

Hand1.Sort(x=>x.CV)

x=>x.CV这样的表达式是

的等价物

private static CardValue GetFieldToSortOn(Card x) { return x.CV; }