none
Verificar campo null RRS feed

  • Pergunta

  • Uso VS2010, aspnet, c#, jquery, ajax

    tenho um web Service que localiza um objeto

    --------------------- web service ----------------------- 

    public List<string> Pesquisar(string parametro1)
        {
            Responsavel responsavel = this.acaoResponsavel.ObterUnico(p => p.Cpf.Equals(parametro1));
           
            List<string> nomes = new List<string>();
            string nome = (responsavel.Email.ToString() +'-'+ responsavel.Rg.ToString());
            nomes.Add(nome);
            return nomes;
        }

    ele funciona, mas o problema, é que se algum dos campo EMAIL ou RG estiverem nulos dá um erro:

      <Referência de objeto não definida para uma instância de um objeto.>
      <Verifiue se o objeto é nulo antes de chamar o método>

    Como faço para retornar mesmo os campos nulos


    Álvaro Luiz


    • Editado Álvaro Luiz quinta-feira, 10 de janeiro de 2013 22:44
    quinta-feira, 10 de janeiro de 2013 22:44

Respostas

  • Então você deve verificar se os campos são null ANTES de chamar o To.String().

    Mais ou menos isso:

    var rg= "";
    
    if(responsavel.RG != null)
         rg = responsavel.RG.ToString();

    e depois usar esse rg para concatenar com o e-mail.

    E acredito que e-mail já é uma string não é mesmo? Então você não precisa chamar o ToString para transformar em string denovo.


    http://www.linkedin.com/pub/murilo-kunze/44/191/455



    • Marcado como Resposta Álvaro Luiz quinta-feira, 10 de janeiro de 2013 22:53
    • Editado Murilo Kunze quinta-feira, 10 de janeiro de 2013 22:55
    quinta-feira, 10 de janeiro de 2013 22:47
  • Cara,

    Se você não quiser fazer a verificação no null, pode converter com o:

    Convert.ToString(RG);
    Pois mesmo que esteja null ele não da erro como o ToString() atribuindo vazio apenas.

    Atenciosamente, Samuel dos Anjos

    quinta-feira, 10 de janeiro de 2013 23:30

Todas as Respostas

  • Então você deve verificar se os campos são null ANTES de chamar o To.String().

    Mais ou menos isso:

    var rg= "";
    
    if(responsavel.RG != null)
         rg = responsavel.RG.ToString();

    e depois usar esse rg para concatenar com o e-mail.

    E acredito que e-mail já é uma string não é mesmo? Então você não precisa chamar o ToString para transformar em string denovo.


    http://www.linkedin.com/pub/murilo-kunze/44/191/455



    • Marcado como Resposta Álvaro Luiz quinta-feira, 10 de janeiro de 2013 22:53
    • Editado Murilo Kunze quinta-feira, 10 de janeiro de 2013 22:55
    quinta-feira, 10 de janeiro de 2013 22:47
  • É isso mesmo cara, parada resolvida 

    valew


    Álvaro Luiz

    quinta-feira, 10 de janeiro de 2013 22:53
  • Cara,

    Se você não quiser fazer a verificação no null, pode converter com o:

    Convert.ToString(RG);
    Pois mesmo que esteja null ele não da erro como o ToString() atribuindo vazio apenas.

    Atenciosamente, Samuel dos Anjos

    quinta-feira, 10 de janeiro de 2013 23:30