Usuário com melhor resposta
Como Ignora se a letra é maiúscula ou minúscula ao usar o indexOf ?

Pergunta
-
Gostaria de saber como eu faço para ignorar se a letra é maiúscula ou minúscula quando usar o IndexOf, para ser o mais preciso possível, utilizando este exemplo como fazer para o código abaixo imprimir True.
string str = "testando"; if( str.IndexOf("T") != -1) { Console.WriteLine("True"); }else { Console.WriteLine("False"); }
MateusVieiraGDS
Respostas
-
Olá Mateus,
Você pode usar o StringComparison.OrdinalIgnoreCase
string str = "testando"; if (str.IndexOf("T", StringComparison.OrdinalIgnoreCase) != -1) { Console.WriteLine("True"); } else { Console.WriteLine("False"); }
Uma dica, por que sou fanático por performance, nesses casos evite usar o comparador "!=" e use o ">"
Espero ter ajudado!
Rafael Almeida
Senior Developer .NET C#
Development Leader at JAMSOFT Informática
Criador e Mantenedor do Entity Framework Core for Firebird
Contribuidor do Entity Framework Core
Email: ralms@ralms.net
Blog - GitHub - LinkedIn - Twitter- Editado Rafael Almeida - MVPMVP quinta-feira, 16 de novembro de 2017 01:05 dica
- Marcado como Resposta Mateus.Vieira quinta-feira, 16 de novembro de 2017 12:16
Todas as Respostas
-
Olá Mateus,
Você pode usar o StringComparison.OrdinalIgnoreCase
string str = "testando"; if (str.IndexOf("T", StringComparison.OrdinalIgnoreCase) != -1) { Console.WriteLine("True"); } else { Console.WriteLine("False"); }
Uma dica, por que sou fanático por performance, nesses casos evite usar o comparador "!=" e use o ">"
Espero ter ajudado!
Rafael Almeida
Senior Developer .NET C#
Development Leader at JAMSOFT Informática
Criador e Mantenedor do Entity Framework Core for Firebird
Contribuidor do Entity Framework Core
Email: ralms@ralms.net
Blog - GitHub - LinkedIn - Twitter- Editado Rafael Almeida - MVPMVP quinta-feira, 16 de novembro de 2017 01:05 dica
- Marcado como Resposta Mateus.Vieira quinta-feira, 16 de novembro de 2017 12:16
-
Sensacional amigo ! :D, funcionou perfeitamente, e em relação a performance me chamou atenção seu comentário sobre o operador, resolvi até pesquisar a respeito mas não achei muita coisa, teria algum artigo para me indicar sobre o assunto. Obrigado !
MateusVieiraGDS
-
Mateus,
No momento não tenho nenhum artigo sobre isso.
Mais como IndexOf é uma pesquisa de string como a de FindNLSString do kernel32.dll, isso lhe dá mais performance, mais tudo depende da situação. se usar o por exemplo o CultureInvariante a performance poderá ser muito mais inferior.
Rafael Almeida
Senior Developer .NET C#
Development Leader at JAMSOFT Informática
Criador e Mantenedor do Entity Framework Core for Firebird
Contribuidor do Entity Framework Core
Email: ralms@ralms.net
Blog - GitHub - LinkedIn - Twitter -