public bool IsStraight(Hand hand) { CardCollection cards = new CardCollection(hand.OrderBy(c => c.Rank.Value)); for (int i = 0; i < cards.Count; ++i) { if (cards.Count > i) { if ((cards[i].Rank.Value + 1) != cards[i + 1].Rank.Value) return false; } } return true; }