none
Bool pedir un dato en sonsola . RRS feed

  • Pregunta

  • Hola chic@s estoy realizando una practica que pida al usuario su genero a traves de la consola para despues validarlos con un bool pero no se como obtener esa respuesta alguien me puede ayudar? 

    
     Console.WriteLine("Ingresa 1  para masculino y 2 para femenino tipo bool");
                m =Convert.ToBoolean(Console.ReadLine()); 
    
    
    
     public string sexob2(bool sexo)
            {
    
                string retorno;
    
    
                bool sexo1 = true;
                sexo = sexo1;
                if (sexo1)
                {
                    retorno = "tu sexo es masculino ";
                }
                else if (!sexo1)
                {
                    retorno = "tu sexo es femenino ";
                }
                else retorno = " not sex add ";
    
    
                return retorno;
            }

    lunes, 6 de enero de 2020 19:40

Respuestas

  • hola

    Si sabes que 0 es false y 1 es true porque no le preguntas

    Console.WriteLine("Ingresa 0 para masculino y 1 para femenino tipo bool");
    m =Convert.ToBoolean(Console.ReadLine()); 

    de esta forma no te complicas y puees convertir directo

    ademas porque te complicas con el mensaje

    public string sexob2(bool sexo)
    {
    	return sexo ? "tu sexo es femenino " : "tu sexo es masculino ";
    }

    solo necesitas una sola linea de codigo con el if en linea

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 6 de enero de 2020 20:08
  • si entiendo se me paso ese detalle que solo aplica a valores numericos

    bool x = Convert.ToBoolean(Convert.ToInt32("0"));

    aunque recomendaria usar

    Console.WriteLine("Ingresa 0 para masculino y 1 para femenino tipo bool");

    int temp = 0;

    int.TryParse(Console.ReadLine(), out temp); m =Convert.ToBoolean(temp);

    asi no tendras un exception si ingresa un texto diferente que no sea 0 o 1

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 6 de enero de 2020 22:16
  • ok muchas gracias, lo que pasa es que me marca como un "System.FormatException: 'String '0' was not recognized as a valid Boolean.' " al momento de ingresar el numero.

    Gracias por su respuesta

    lunes, 6 de enero de 2020 21:57

Todas las respuestas

  • hola

    Si sabes que 0 es false y 1 es true porque no le preguntas

    Console.WriteLine("Ingresa 0 para masculino y 1 para femenino tipo bool");
    m =Convert.ToBoolean(Console.ReadLine()); 

    de esta forma no te complicas y puees convertir directo

    ademas porque te complicas con el mensaje

    public string sexob2(bool sexo)
    {
    	return sexo ? "tu sexo es femenino " : "tu sexo es masculino ";
    }

    solo necesitas una sola linea de codigo con el if en linea

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 6 de enero de 2020 20:08
  • ok muchas gracias, lo que pasa es que me marca como un "System.FormatException: 'String '0' was not recognized as a valid Boolean.' " al momento de ingresar el numero.

    Gracias por su respuesta

    lunes, 6 de enero de 2020 21:57
  • si entiendo se me paso ese detalle que solo aplica a valores numericos

    bool x = Convert.ToBoolean(Convert.ToInt32("0"));

    aunque recomendaria usar

    Console.WriteLine("Ingresa 0 para masculino y 1 para femenino tipo bool");

    int temp = 0;

    int.TryParse(Console.ReadLine(), out temp); m =Convert.ToBoolean(temp);

    asi no tendras un exception si ingresa un texto diferente que no sea 0 o 1

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 6 de enero de 2020 22:16
  • muchas gracias <3 por la ayuda
    lunes, 6 de enero de 2020 22:49