-3

string を char エラー メッセージに変換できません。たとえば、ユーザーが 1800HIETHC を入力できるようにし、すべての数字を返すプログラムを作成できるようにしようとしています。私はすでに立ち往生しています....何をすべきかについて何か助けやアドバイスはありますか?

    static void Main(string[] args)
    {
        char number = ' ';
        int numb = 0;

        Console.WriteLine("Please enter the telephone number...");
        number = Console.ReadLine();

        while (number <= 10)
        {

            if (number == 'A')
            {
                numb = 2;
            }
        }

        Console.WriteLine(numb);
    }
}

}

4

3 に答える 3

1

私があなたのことを正しく理解していれば、

string number = "1800HIETHC"; //Console.ReadLine() reads whole line, not a single char.

int[] nums = Digits(number);




static int[] Digits(string number)
{
    return number.Where(char.IsLetterOrDigit).Select(ToNum).ToArray();
}

static int ToNum(char c)
{
    int[] nums = { 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9 };

    if (char.IsDigit(c)) return c - '0';

    c = char.ToUpper(c);
    return nums[c - 'A'];
}
于 2013-08-23T22:59:15.280 に答える