none
Verificar se TextBox esta vazio e colocar 0 RRS feed

  • Pergunta

  • Boa tarde, fiz o seguinte código:

    int i_Vaga;
    if (txt_Vaga.Text == "")
    {
       i_Vaga = 0;
    }
    else
    {
       i_Vaga = Convert.ToInt32(TextBox1.Text);
    }
    Existe como fazer algo mais resumido, com aqueles operadores ternários?

    algo do tipo
    i_Vaga = ((TextBox1.Text)  ? Convert.ToInt32(TextBox1.Text) : 0);

    segunda-feira, 11 de novembro de 2013 16:23

Respostas

  • Tente esse ternário que é para funcionar. 

    Sempre que for testar textBox vazio utilize o .Trim() pois ele ignora os espaços caso o usuário aperte a barra de espaços no campo e com isso poderá ocasionar erro na sua aplicação. 

    i_Vaga = textBox.Text.Trim() == "" ? 0 : Convert.ToInt32(textBox1.Text.Trim());

    Espero que ajude. 

    Se ajudou marque. 

    Abraço.


    Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs

    • Sugerido como Resposta Raphael Heitor segunda-feira, 11 de novembro de 2013 16:40
    • Marcado como Resposta ASPX_BR segunda-feira, 11 de novembro de 2013 18:15
    segunda-feira, 11 de novembro de 2013 16:37

Todas as Respostas

  • Não é possível atribuir valor utilizando ternário.

    apenas uma correção

    i_Vaga.Text = "0";

    • Sugerido como Resposta Raphael Heitor segunda-feira, 11 de novembro de 2013 16:37
    segunda-feira, 11 de novembro de 2013 16:33
  • Mas, para fim de conhechimento:

    (condição) ? seVerdadeira : seFalsa;

    (teste == null) ? ExecutaMetodoTeste1() : ExecutaMetodoTeste2();

    • Sugerido como Resposta Raphael Heitor segunda-feira, 11 de novembro de 2013 16:37
    segunda-feira, 11 de novembro de 2013 16:36
  • Tente esse ternário que é para funcionar. 

    Sempre que for testar textBox vazio utilize o .Trim() pois ele ignora os espaços caso o usuário aperte a barra de espaços no campo e com isso poderá ocasionar erro na sua aplicação. 

    i_Vaga = textBox.Text.Trim() == "" ? 0 : Convert.ToInt32(textBox1.Text.Trim());

    Espero que ajude. 

    Se ajudou marque. 

    Abraço.


    Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs

    • Sugerido como Resposta Raphael Heitor segunda-feira, 11 de novembro de 2013 16:40
    • Marcado como Resposta ASPX_BR segunda-feira, 11 de novembro de 2013 18:15
    segunda-feira, 11 de novembro de 2013 16:37
  • i_vaga = string.IsNullOrEmpty(txt_vaga.Text) ? 0 :Convert.ToInt32(txt_vaga.Text)

    Cara, tente algo parecido com isso aqui, acredito que dê certo.


    Julio Arruda
    __________________________________________
    Se foi util, marque como resposta
    .Net Coders
    Coordenador .Net Coders

    • Sugerido como Resposta Julio ArrudaMVP segunda-feira, 11 de novembro de 2013 17:25
    segunda-feira, 11 de novembro de 2013 17:25
  • Raphael Heitor,

    Sim é possível, creio que deva procurar mais informações sobre o assunto.


    Atenciosamente, Samuel dos Anjos

    segunda-feira, 11 de novembro de 2013 20:48
  • int i_Vaga = Convert.ToInt32("0" + TextBox1.Text);

    Uma solução bem simples. Uma linha apenas.




    terça-feira, 29 de março de 2016 21:17