none
Como Ignora se a letra é maiúscula ou minúscula ao usar o indexOf ? RRS feed

  • 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

    quarta-feira, 15 de novembro de 2017 23:25

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


    quinta-feira, 16 de novembro de 2017 01:04

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


    quinta-feira, 16 de novembro de 2017 01:04
  •  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

    quinta-feira, 16 de novembro de 2017 12:20
  • 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

    quinta-feira, 16 de novembro de 2017 12:45
  • Obrigado pela resposta. Quanto mais aprendermos melhor ! ;)

    MateusVieiraGDS

    quinta-feira, 16 de novembro de 2017 14:20