Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

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.

Link para compartilhar na Internet ou com seus amigos:

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

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 34 usuários muito felizes estudando em nosso site.