使用未分配的变量

时间:2016-03-12 08:08:19

标签: c#

我收到错误"use of unassigned variable ch" at while (ch != 'n')

static void Main(string[] args)
{
    char ch;

    do
    {
        Console.WriteLine("Enter any number");

        int i = Convert.ToInt32(Console.ReadLine());

        for (int j = 1; j <= 200; j++)
        {
            int c = i * j;
            Console.Write("  " + c);

            if (j % 10 == 0)
                Console.WriteLine();
        }

        Console.WriteLine("again? " + "(y//n)");
        ch = Convert.ToChar(Console.ReadLine());

        if (ch == 'y' || ch == 'n') 
            continue;
        else
        {
            Console.WriteLine("invalid choice");
            break;
        }
    } while (ch != 'n');
}

2 个答案:

答案 0 :(得分:0)

这正是它所说的。 ch在使用其值之前未初始化,从而导致错误。

简单的事情,例如ch = 'Z'ch = ' '将解决问题。

答案 1 :(得分:-2)

在进入循环之前,您尚未初始化char变量'ch'。您可以事先对其进行初始化。

char ch='y';

修复它,它只会让编译器闭嘴。 编辑:由于while条件,除了'n'之外,ch的任何值都将起作用。