Você está aqui: C# ::: Windows Forms ::: ListBox |
Pesquisando itens em uma ListBox usando o método FindStringExact()Quantidade de visualizações: 8800 vezes |
O método FindStringExact() da classe ListBox é útil quando precisamos localizar um item em uma ListBox que contém exatamente o texto da string fornecida como argumento (ao contrário do método FindString(), que encontra um item que começa com a string informada). Este método recebe uma string e retorna o índice (começando em 0) do item encontrado. Se o item não for localizado, o retorno é -1 (ou ListBox.NoMatches). Veja um exemplo:private void button1_Click(object sender, EventArgs e){ // vamos adicionar alguns itens na ListBox listBox1.Items.Add("Java"); listBox1.Items.Add("C++"); listBox1.Items.Add("Delphi"); listBox1.Items.Add("Python"); listBox1.Items.Add("VB.NET"); // vamos pesquisar um item que contenha o texto "Python" int pos = listBox1.FindStringExact("Python"); Veja que aqui nós pesquisamos um item que contém exatamente o texto "Python" e o mesmo foi localizado no índice 3. Note também que a comparação feita pelo método FindStringExact() não é case-sensitive, ou seja, não diferencia letras maiúsculas de minúsculas. Se houver dois ou mais itens começando com a mesma string fornecida como argumento, o primeiro item é retornado. Há uma versão sobrecarregada do método FindStringExact() que permite especificar o índice a partir do qual a pesquisa será feita. Veja: private void button1_Click(object sender, EventArgs e){ // vamos adicionar alguns itens na ListBox listBox1.Items.Add("Java"); listBox1.Items.Add("C++"); listBox1.Items.Add("Delphi"); listBox1.Items.Add("Python"); listBox1.Items.Add("VB.NET"); // vamos pesquisar o item "Delphi" // agora a pesquisa é feita a partir do quarto elemento int pos_inicial = 3; int pos = listBox1.FindStringExact("Delphi", pos_inicial); Neste código eu fiz um pequeno "hack". No .NET 3.5 e anteriores (e talvez posteriores) o método FindStringExact() reinicia a busca a partir do índice 0 se o item pesquisado não for encontrado a partir do índice que especificamos e esta pode não ser a intenção de nosso código. Assim, fiz de forma que testamos se o elemento pesquisado foi realmente encontrado a partir do índice inicial definido. A versão sobrecarregada do método FindStringExact() pode atirar uma exceção do tipo ArgumentOutOfRangeException se o índice a partir do qual a pesquisa será feita for um valor maior que a quantidade de itens na lista menos 1. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |