错误2使用未分配的局部变量'Y'

时间:2011-03-23 03:12:32

标签: c# .net variables local-variables unassigned-variable

我再次遇到错误,我不是故意阻止任何人,但我在这段代码上收到错误:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Input_Program
{
    class Program
    {
       private static void Main()
        {

           char Y;
            char N;

           Console.WriteLine("Welcome to my bool program!");
           Console.WriteLine("Input a NON capital y or n when told to.");




            if(Y == 'y')
            {
                Console.WriteLine("Thank you,Please wait.....");
            }
        }
    }
}

谢谢你的答案!

4 个答案:

答案 0 :(得分:1)

您的变量char Y在使用前未初始化。在声明时尝试给出默认值。

编辑您似乎希望用户输入内容,并将其分配给变量Y.尝试:

Y = Console.ReadKey().KeyChar;

答案 1 :(得分:1)

if(Y == 'y')

Y是一个未分配任何内容的局部变量。因此,您可以在if语句之前为其分配任何值以进行任何比较。

Y = 'a';  // or some character 

答案 2 :(得分:1)

你没有将Y设置为任何东西,而且你也没有从键盘上读取任何东西。

答案 3 :(得分:1)

您可以将其显式设置为null。

char Y = '<whatever_is_the_default_char>';

这将摆脱编译器错误。

编译器错误的根本原因是当它编译if条件时没有分配给Y.以上被认为是一个赋值。