private bool MyHighCardIsBetter(PokerHand other) { var myCards = CardsOrderedByValue().Select(GetCardValueAsInt).ToArray(); var otherCards = other.CardsOrderedByValue().Select(GetCardValueAsInt).ToArray(); for (int i = 0; i < otherCards.Length; i++) { if (myCards[i] != otherCards[i]) return myCards[i] >= otherCards[i]; } return false; }