public string BuildSortedHandString()
        {
            string sortedHandString = "(";

            if (MainHand != null && MainHand.CardCount() != 0)
            {
                foreach (Card card in MainHand.GetCards())
                {
                    sortedHandString += String.Format("{0}{1}, ", FriendlyValueNames[card.Value], Constants.FriendlySuitNames[card.Suit]);
                }
                sortedHandString = sortedHandString.Remove(sortedHandString.Length - 2);
            }
            sortedHandString += "), (";
            if (KickerHand != null && KickerHand.CardCount() != 0)
            {
                foreach (Card card in KickerHand.GetCards())
                {
                    sortedHandString += String.Format("{0}{1}, ", FriendlyValueNames[card.Value], Constants.FriendlySuitNames[card.Suit]);
                }
                sortedHandString = sortedHandString.Remove(sortedHandString.Length - 2);
            }
            sortedHandString += ")";

            return(sortedHandString);
        }
        public bool?IsBetterThanHand(SortedHand secondHand)
        // Compare the main hand and kicker hand of two hands of the same type (e.g. flush, pair, etc...)
        {
            for (int i = 0; i < MainHand.CardCount(); i++)
            {
                if (MainHand.GetCards()[i].Value > secondHand.MainHand.GetCards()[i].Value)
                {
                    return(true);
                }
                else if (MainHand.GetCards()[i].Value < secondHand.MainHand.GetCards()[i].Value)
                {
                    return(false);
                }
            }

            if (KickerHand != null)
            {
                for (int i = 0; i < KickerHand.CardCount(); i++)
                {
                    if (KickerHand.GetCards()[i].Value > secondHand.KickerHand.GetCards()[i].Value)
                    {
                        return(true);
                    }
                    else if (KickerHand.GetCards()[i].Value < secondHand.KickerHand.GetCards()[i].Value)
                    {
                        return(false);
                    }
                }
            }

            return(null);
        }