Springen naar inhoud


- - - - -
VS 2012

Dubbels Uit Listbox Halen

Visual Basic 2012

  • Log in a.u.b. om te beantwoorden
Er zijn 4 reacties in dit onderwerp

#1 ludo64

ludo64

    Rookie Developer

  • Leden
  • Pip
  • 30 berichten
    Laatst bezocht gisteren, 14:26
  • LocatieTongeren

Geplaatst op 22 juni 2019 - 15:53

Hallo,
Ik heb in Listbox1 een 50-tal namen waarvan verschillende meerdere keren voorkomen.
Nu moet ik al die dubbele namen eruit halen, zodat ik in Listbox2 alle namen heb die dus maar 1 keer voorkomen.
Iemand een idee want ik geraak er niet uit.

#2 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1153 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 23 juni 2019 - 12:49

Bericht bekijkenludo64, op 22 juni 2019 - 15:53, zei:

Hallo,
Ik heb in Listbox1 een 50-tal namen waarvan verschillende meerdere keren voorkomen.
Nu moet ik al die dubbele namen eruit halen, zodat ik in Listbox2 alle namen heb die dus maar 1 keer voorkomen.
Iemand een idee want ik geraak er niet uit.

Bijvoorbeeld:
Visual Basic Code:
	ListBox2.Items.Clear
	ListBox2.Items.AddRange(ListBox1.Items.Cast(Of String).Distinct.ToArray)



#3 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1153 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 23 juni 2019 - 13:05

Bericht bekijkenludo64, op 22 juni 2019 - 15:53, zei:

Hallo,
Ik heb in Listbox1 een 50-tal namen waarvan verschillende meerdere keren voorkomen.
Nu moet ik al die dubbele namen eruit halen, zodat ik in Listbox2 alle namen heb die dus maar 1 keer voorkomen.
Iemand een idee want ik geraak er niet uit.
Vorige oplossing geeft alle namen die 1 of meerdere keren voorkomen uit ListBox1 één maal in ListBox2.
Na herlezen weet ik niet of dat is wat je wil.
Volgende code geeft je enkel die namen die precies 1 keer voorkomen in de eerste ListBox:

Visual Basic Code:
	 ListBox2.Items.Clear()
	 ListBox2.Items.AddRange(ListBox1.Items.
						 Cast(Of String).
						 GroupBy(Function(name) name).
						 Where(Function(g) g.Count = 1).
						 Select(Function(g) g.Key).
						 ToArray)



#4 ludo64

ludo64

    Rookie Developer

  • Leden
  • Pip
  • 30 berichten
    Laatst bezocht gisteren, 14:26
  • LocatieTongeren

Geplaatst op 23 juni 2019 - 16:33

Thx Dirk, dat eerste voorbeeld werkt.
Moet wel zeggen dat ik van bvb Cast(Of String).Distinct.ToArray) nog niets gelezen heb in het boek van Visual Basic waarmee ik bezig ben.
Al helemaal niet van het 2e voorbeeld.
Maar thx anyway.

#5 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1153 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 23 juni 2019 - 16:57

Bericht bekijkenludo64, op 23 juni 2019 - 16:33, zei:

Moet wel zeggen dat ik van bvb Cast(Of String).Distinct.ToArray) nog niets gelezen heb in het boek van Visual Basic waarmee ik bezig ben.
Al helemaal niet van het 2e voorbeeld.
Dat is Linq. Bestudeer het, gebruik het.





Ook met taq VS 2012, Visual Basic 2012 voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[VS 2012] Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)