Error 2 Uso de la variable local no asignada 'Y'
-
28-10-2019 - |
Pregunta
Nuevamente me encuentro con un error, no quiero molestar a nadie, pero recibo un error en este código:
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.....");
}
}
}
}
¡Gracias por tus respuestas!
Solución
Tu variable char Y
no se inicializa antes de usar. Intente dar un valor predeterminado al declarar.
EDITAR Parece que desea que los usuarios ingresen algo y lo asignen a la variable Y. Pruebe:
Y = Console.ReadKey().KeyChar;
Otros consejos
if(Y == 'y')
Y
es una variable local a la que no se le asigna nada. Entonces, lo asignas cualquier valor antes del if
declaración para hacer cualquier comparación.
Y = 'a'; // or some character
No estás estableciendo Y en nada, y tampoco estás leyendo nada del teclado.
Podrías configurarlo explícitamente en NULL.
char Y = '<whatever_is_the_default_char>';
Eso eliminaría el error del compilador.
La causa raíz del error del compilador es que cuando va a compilar el if condicional nada asignado a Y. lo anterior se considera una asignación.