Doppelte Elemente aus Array entfernen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Talyn.

    Doppelte Elemente aus Array entfernen

    Hallo,

    ich arbeite erst seit kurzem mit Visual Basic 2005 und habe ein Problem, welches ich anscheinend selbstständig nicht lösen kann.

    Ich habe ein Array, welches ich mit Daten fülle, und anschließend in ein Datagridview ausgebe. Da allerdings sehr viele doppelte Elemente vorkommen, möchte ich die gerne aus dem Array löschen.

    Obwohl ich das in VBA und PHP schonmal gemacht habe, krieg ich das hier einfach nicht hin. Konnte für VB2005 auch keinen Beispielcode finden.

    Bin dankbar für jede Hilfestellung,

    Talyn
    Ist jetzt mal frei geschrieben, ist das erstem was mit eingefallen ist:

    Quellcode

    1. Dim meinarray(5) As String
    2. meinarray(0) = "test"
    3. meinarray(1) = "test000"
    4. meinarray(2) = "test222"
    5. meinarray(3) = "test456"
    6. meinarray(4) = "test000"
    7. meinarray(5) = "test888"
    8. For i As Integer = 0 to meinarray.Length - 1
    9. For o As Integer = 0 to meinarray.Length - 1
    10. If meinarray(i) = meinarray(o) Then
    11. 'Dein Code was passieren sol wenn ein Eintrag doppelt vorkommt
    12. Next
    13. Next

    Lg Chris
    ich habs mal mit ArrayList gelöst, das spart schleifen und ist auch insgesamt ein bisschen kompakter:

    VB.NET-Quellcode

    1. Dim meinarray(7) As String
    2. meinarray(0) = "test"
    3. meinarray(1) = "test000"
    4. meinarray(2) = "test222"
    5. meinarray(3) = "test456"
    6. meinarray(4) = "test000"
    7. meinarray(5) = "test222"
    8. meinarray(6) = "test888"
    9. meinarray(7) = "test888"
    10. Dim Liste As New ArrayList
    11. Liste.AddRange(meinarray)
    12. Dim Test As New ArrayList
    13. For Each a As String In Liste
    14. If Not Test.Contains(a) Then
    15. Test.Add(a)
    16. End If
    17. Next
    18. ReDim meinarray(Test.Count - 1)
    19. meinarray = CType(Test.ToArray(GetType(String)), String())

    Du kannst dir ja eine Lösung raussuchen!