RETORNAR MAIÚSCULA E MINÚSCULA (LISTA.CONTAINS)

 Tópico anterior Próximo tópico Novo tópico

RETORNAR MAIÚSCULA E MINÚSCULA (LISTA.CONTAINS)

C#

 Compartilhe  Compartilhe  Compartilhe
#490663 - 09/10/2019 08:13:15

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Pessoal, primeiramente desculpem pelo título, não sabia o que escrever.
Devo estar errando em algo que não consegui descobrir ainda, deve ser algum pequeno detalhe.
Em uma lista de nomes:
lista = lista.Where(x => x.Nome.Contains(txtNome.Text)).OrderBy(x => x.Nome).ToList();

estou buscando todos os nomes que tenham por exemplo a letra "e", então eu digitei na txtNome a letra "e" minúscula.
Porém está me retornando somente os nomes que contenham a letra "e" minúscula, se tiver um nome, por exemplo "Eurico", ele não retorna.
Neste caso como faço para tratar o case, para me mostrar todos os nomes que contenham a letra "e" independente de ser maiúscula ou minúscula?
Onde estou errando?

____________________________________________________
Não há nessa vida algo que não se possa alcançar, você só precisa ir buscar.

Resposta escolhida #490664 - 09/10/2019 09:22:15

FOXMAN
BARRETOS
Cadast. em:Janeiro/2001


Membro da equipe
Tenta assim :

lista = lista.Where(x => x.Nome.ToUpper().Contains(txtNome.Text.ToUpper())).OrderBy(x => x.Nome).ToList();


Independente de digitar "e" ou "E" ele deverá retornar;


Grupo DotNet.Br no FaceBook

Grupo WhatsDev



#490665 - 09/10/2019 09:25:02

LVFIOROT
SERRA
Cadast. em:Março/2012


isso é um porre nesta função, "Contains", tem varias extension para ela na web, para comparar os dois...

lista = lista.Where(x => x.Nome.Contains(txtNome.Text, StringComparison.InvariantCultureIgnoreCase)).OrderBy(x => x.Nome).ToList();

costumo usar essa, nao sei se funciona linq/lambda





#490666 - 09/10/2019 10:15:52

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
InvariantCultureIgnoreCase significa: ignore o case(o que você quer) independente de cultura. Isso significa que à, á, ã, â, tudo é a

_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#490667 - 09/10/2019 10:41:50

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Valeu, pessoal, muito obrigado.
Da maneira que o FoxMan colocou, funcionou certinho, porém, da maneira que o LVFiorot colocou e o Kerplunk "assinou embaixo", não funcionou, a mensagem é essa:
Nenhuma sobrecarga para o método "Contains" leva 2 argumentos
Não sei o porquê, mas se alguém puder me explicar, agradeço.


____________________________________________________
Não há nessa vida algo que não se possa alcançar, você só precisa ir buscar.

#490668 - 09/10/2019 12:20:37

FOXMAN
BARRETOS
Cadast. em:Janeiro/2001


Membro da equipe

Última edição em 09/10/2019 12:51:58 por FOXMAN

Citação:
:
Valeu, pessoal, muito obrigado.
Da maneira que o FoxMan colocou, funcionou certinho, porém, da maneira que o LVFiorot colocou e o Kerplunk "assinou embaixo", não funcionou, a mensagem é essa:
Nenhuma sobrecarga para o método "Contains" leva 2 argumentos
Não sei o porquê, mas se alguém puder me explicar, agradeço.

Simplesmente porque Contains não recebe dois parâmetros.
Para utilizar o StringComparison.InvariantCultureIgnoreCase
O que acho ser inviável diante da situação.
Seria algo como :

lista = lista.Where(x =>  String.Compare(x.Nome,txtNome.Text, StringComparison.OrdinalIgnoreCase)).OrderBy(x => x.Nome).ToList();


Algo assim, não testei. Mas eu não faria dessa forma, uma vez que o seu problema(conforme relatou no titulo do tópico) está somente no CamelCase, o que pode ser resolvido facilmente apenas comparando os valores já no formato MAIUSCULO ou no MINUSCULO....





Grupo DotNet.Br no FaceBook

Grupo WhatsDev



#490669 - 09/10/2019 15:05:08

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Mais uma vez obrigado Fox pela explicação.
Até mais;

____________________________________________________
Não há nessa vida algo que não se possa alcançar, você só precisa ir buscar.

#490671 - 09/10/2019 15:11:38

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Citação:
:
Valeu, pessoal, muito obrigado.
Da maneira que o FoxMan colocou, funcionou certinho, porém, da maneira que o LVFiorot colocou e o Kerplunk "assinou embaixo", não funcionou, a mensagem é essa:
Nenhuma sobrecarga para o método "Contains" leva 2 argumentos
Não sei o porquê, mas se alguém puder me explicar, agradeço.

É que a que ele estava falando de uma das muitas extensões desse método.

_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#490684 - 09/10/2019 19:54:04

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009




____________________________________________________
Não há nessa vida algo que não se possa alcançar, você só precisa ir buscar.

 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por PERCIFILHO em 10/10/2019 07:31:37