Ошибка 2 Использование неназначенной локальной переменной 'Y' - PullRequest
1 голос
/ 23 марта 2011

Опять я сталкиваюсь с ошибкой, я не хочу никого обидеть, но получаю сообщение об ошибке:

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 ]

1 голос
/ 23 марта 2011

Вы можете явно установить его на ноль.

char Y = '<whatever_is_the_default_char>';

Это избавит от ошибки компилятора.

Основная причина ошибки компилятора состоит в том, что когда он собирается скомпилировать условное условие if, как было присвоено Y. Вышеуказанное считается назначением.

1 голос
/ 23 марта 2011
if(Y == 'y')

Y - локальная переменная, которой ничего не назначено. Таким образом, вы можете присвоить ему любое значение перед оператором if, чтобы выполнить какое-либо сравнение.

Y = 'a';  // or some character 
1 голос
/ 23 марта 2011

Вы ничего не устанавливаете в Y, а также ничего не читаете с клавиатуры.

1 голос
/ 23 марта 2011

Ваша переменная char Y не инициализируется перед использованием. Попробуйте указать значение по умолчанию при объявлении.

РЕДАКТИРОВАТЬ Кажется, что вы хотите, чтобы пользователи что-то вводили и присваивали это переменной Y. Попробуйте:

Y = Console.ReadKey().KeyChar;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...