none
Lambda C# RRS feed

  • Pergunta

  • Eu recebo um Json ao qual transformo em lista da minha classe Produto:

    class Produto
        {
            public int Id { get; set; }
            public string Produto { get; set; }
            public string CodBarras { get; set; }
            public string Preco { get; set; }
            public string Imagem { get; set; }
            public string Grupo { get; set; }
        }

    Recebo o Json

    var CodBarras = Procura;
                    // recebe em Json do WebAPI
                    WebRequest req = WebRequest.Create(@"http://softecsul.com/webapiteste/api/usuario");
    
                    req.Method = "GET";
    
                    HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
                    if (resp.StatusCode == HttpStatusCode.OK)
                    {
                        using (Stream respStream = resp.GetResponseStream())
                        {
                            StreamReader reader = new StreamReader(respStream, Encoding.UTF8);
    
                            // tranforma o resultado em string
                            string reader1 = reader.ReadToEnd();
    
                            // monta uma lista com todos os registros
                            var ListaJson = JsonConvert.DeserializeObject<List<Produto>>(reader1);
    
                             var ProdutoCodBarras = ListaJson.Where(o => o.CodBarras = CodBarras);

    Só que ao fazer a Lambda ele traz um erro dizendo que minha propriedade CodBarras é boll, porque? Notei que todas as propriedades que são string ele reconhece como bool. A única que ele reconhece corretamente é Id que é do tipo Int

    agradeço desde já a ajuda


    Paulo Marcelo Dalbosco


    sexta-feira, 21 de fevereiro de 2014 14:56

Respostas

  • Olá quando usa comparação em lambda o correto é == 

    assim vc diz que o.CodBarras = CodBarras ou seja vc atribui o valor e não compara.

    • Sugerido como Resposta Richof sexta-feira, 21 de fevereiro de 2014 16:09
    • Marcado como Resposta Paulo M Dalbosco sexta-feira, 21 de fevereiro de 2014 16:26
    sexta-feira, 21 de fevereiro de 2014 14:58

Todas as Respostas

  • Olá quando usa comparação em lambda o correto é == 

    assim vc diz que o.CodBarras = CodBarras ou seja vc atribui o valor e não compara.

    • Sugerido como Resposta Richof sexta-feira, 21 de fevereiro de 2014 16:09
    • Marcado como Resposta Paulo M Dalbosco sexta-feira, 21 de fevereiro de 2014 16:26
    sexta-feira, 21 de fevereiro de 2014 14:58
  • Obrigado! É minha primeira aplicação em C#, é cacuete do VB.NET! =)

    Paulo Marcelo Dalbosco

    sexta-feira, 21 de fevereiro de 2014 16:26