none
Comparar una letra introducida por el usuario con una letra de una string RRS feed

  • Pregunta

  • Un amigo que esta estudiando programación me dijo que intentara hacer el juego del "Ahorcado" y en ello estoy. 

    Tengo una variable que es para que el usuario introduzca la palabra que quiera y tengo una para que introduzca la letra pero me da error al intentar compararlas ¿Cómo podría hacer esto? Gracias de antemano :)

                            

    El error dice: El operador '==' no se puede aplicar a operandos del tipo 'string' y 'char'

           static void Main(string[] args)
            {
                Console.WriteLine("Escribe una palabra");
                string frase_usuario = Console.ReadLine();
                int length = frase_usuario.Length;
                string no_letter = "-";
                int tries = 8;
    
                while(tries != 0)
                {
                    Console.WriteLine("Escribe una letra: ");
                    string letra_usuario = Console.ReadLine();
                    for (int cont = 0; cont < length; cont++)
                    {
                        if (letra_usuario == frase_usuario[cont])           <----- Aquí me da error
                        {
    
                        }
                        else  Console.Write(no_letter);
                    }
                    tries--;
                }     
    
                Console.ReadKey();
            }






    miércoles, 14 de noviembre de 2018 7:31

Respuestas

  • Modifica la línea

     string letra_usuario = Console.ReadLine();

    Por

    var letra_usuario = Console.ReadKey().KeyChar;
    ReadKey lee una única tecla de la consola. Una vez obtenida se recupera su "char" por lo que luego puedes realizar la comparación

     


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    miércoles, 14 de noviembre de 2018 9:18
    Moderador

Todas las respuestas

  • Cambia la línea 

    if (letra_usuario == frase_usuario[cont])

    por

    if (letra_usuario.Equals(frase_usuario[cont]))


    Saludos, Javier J

    miércoles, 14 de noviembre de 2018 9:09
  • Modifica la línea

     string letra_usuario = Console.ReadLine();

    Por

    var letra_usuario = Console.ReadKey().KeyChar;
    ReadKey lee una única tecla de la consola. Una vez obtenida se recupera su "char" por lo que luego puedes realizar la comparación

     


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    miércoles, 14 de noviembre de 2018 9:18
    Moderador