Rimuovere gli elementi uguali di una Listbox

mercoledì 06 aprile 2011 - 01.48
Tag Elenco Tags  VB.NET  |  .NET 3.5  |  Windows 7  |  Visual Studio 2008

bobo89 Profilo | Junior Member

Buona sera ragazzi, come da titolo cerco aiuto su come rimuovere gli elementi uguali di una listbox.

esempio io ho 5 elementi nella mia listbox

Pippo
mario
giovanni
pippo
mario

mi serve una funzione che mi pulisce la listbox e mi lascia dentro solo:
pippo
mario
giovanni

Avete qualche suggerimento??


Zito Piero
bobo-89@libero.it
http://www.makerit.altervista.org

AntCiar Profilo | Expert

Ciao.

La cosa più semplice è questa:

- ti crei un oggetto di tipo List di stringhe [ system.generic.List(Of string) ]
- poi cicli gli elementi della listBox e controlli se sono contenuti nella tua Lista di Stringhe; se non è presente l'aggiungi alla lista.
- al termine del ciclo svuoti la listBox.
- cicli la Lista di Stringhe e riempi la listBox con i dati contenuti nella Lista di Stringhe

Cristian Barca

kataklisma Profilo | Senior Member

>La cosa più semplice è questa:
>
>- ti crei un oggetto di tipo List di stringhe [ system.generic.List(Of
>string) ]
>- poi cicli gli elementi della listBox e controlli se sono contenuti
>nella tua Lista di Stringhe; se non è presente l'aggiungi alla
>lista.
>- al termine del ciclo svuoti la listBox.
>- cicli la Lista di Stringhe e riempi la listBox con i dati contenuti
>nella Lista di Stringhe

Molto meglio utilizzare il metodo Distinct sulla lista...

List<string> a = new List<string>(); List<string> b= new List<string>(); a.Add("Prova"); a.Add("Prova"); a.Add("Ciao"); a.Add("Ignazio"); a.Add("Ciao"); prova = ciao.Distinct().ToList();

Nella List<string> b troverai gli elementi univoci di a.... ;)

Quindi, considerando che il datasource della tua listbox fosse la variabile "a", basterebbe, tramite un semplice cast, effettuare questa operazione :

tuaListBox.DataSource = ((List<string>)tuaListBox.DataSource).Distinct().ToList();

oppure

tuaListBox.DataSource = a.Distinct().ToList();

Buona giornata!

------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5