我有以下C#类/函数:
class Hand
{
private List<Card> myCards = new List<Card>();
public void sortBySuitValue()
{
IEnumerable<Card> query = from s in myCards
orderby (int)s.suit, (int)s.value
select s;
myCards = new List<Card>();
myCards.AddRange(query);
}
}
在纸牌游戏上。这样做很好,但是起初我遇到麻烦,而不是使用myCards = new List();。要“重置” myCard,我将使用myCards.clear(),但是,一旦调用clear函数,便无法调用myCards.add()或myCards.addRange()。计数将保持为零。我目前的方法好吗?使用LINQ对我的卡进行排序是好是坏?
最佳答案
这会工作
class Hand
{
private List<Card> myCards = new List<Card>();
public void sortBySuitValue()
{
myCards = (from s in myCards
orderby (int)s.suit, (int)s.value
select s).ToList();
}
}