示例#1
0
        private void DoPhoneCombi(byte[] arr, StringBuilder sb, int len, int level)
        {
            if (level == len)
            {
                Console.WriteLine(sb.ToString());
                return;
            }

            byte x     = arr[level];
            int  upCap = (x < 2) ? 1 : 3;

            for (byte i = 1; i <= upCap; i++)
            {
                sb.Append(PhoneNumberChars.GetChar(x, i));
                DoPhoneCombi(arr, sb, len, level + 1);
                sb.Length -= 1;
            }
        }
示例#2
0
        private static void DoPhoneCombination(byte[] phoneNumber, StringBuilder sb, int level)
        {
            if (level == phoneNumber.Length)
            {
                Console.WriteLine(sb.ToString());
                return;
            }

            byte X = phoneNumber[level];

            int upCap = (X < 2) ? 1 : 3;

            for (byte i = 1; i <= upCap; i++)
            {
                sb.Append(PhoneNumberChars.GetChar(X, i));
                DoPhoneCombination(phoneNumber, sb, level + 1);
                sb.Length -= 1;
            }
        }