Eindimensionales String Array mit (noch nicht existierendem Wert) am Anfang der Liste ergänzen.

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von BlueLagoonX.

    Eindimensionales String Array mit (noch nicht existierendem Wert) am Anfang der Liste ergänzen.

    Hallo Leute,

    ist womöglich für Euch eine Kleinigkeit, aber ich würde es umständlich mit for-next Schleifen machen. Was aber wohl eher keinen Sinn macht, weil es bessere .NET Funktionen dafür gibt.

    Aufgabe:

    Ich habe eine Liste von Strings in einem eindimensionalen Array (wie das Array aussieht ist noch offen):

    VB.NET-Quellcode

    1. OrderID(0)="123c"
    2. OrderID(1)="456b"
    3. OrderID(3)="842a"


    Nun habe ich einen String (Beispiel "999z") der an das Array an oberster Stelle eingefügt werden soll, aber nur dann, wenn er noch nicht in einem Array-Wert vorkommt.

    Wie macht man das am saubersten und schnellsten?

    NACHTRAG:

    Sorry, war wieder etwas voreilig und habs selber herausgefunden:

    VB.NET-Quellcode

    1. Dim VerarbeiteteBestellungen As List(Of String) = New List(Of String)
    2. If Not VerarbeiteteBestellungen.Contains(Mergeport_Orders(Index).UUID) Then
    3. VerarbeiteteBestellungen.Insert(0, Mergeport_Orders(Index).UUID)
    4. End If

    Liebe Grüße
    Roland Berghöfer

    Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „dive26“ ()

    Hallo,
    indem du einen Stack<T> verwendest

    Edit:
    List.Insert ist übrigens eine ganz schlechte Idee. Gerade wenn viele Einträge hinzugefügt werden sollen. Hier mal ein Beispiel mit 100.000 Listitems.

    Brainfuck-Quellcode

    1. | Method | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
    2. |----------- |-------------:|------------:|------------:|---------:|---------:|---------:|----------:|
    3. | ListInsert | 728,383.6 us | 6,843.67 us | 5,714.77 us | - | - | - | 1 MB |
    4. | ListAdd | 761.4 us | 25.45 us | 75.04 us | 285.1563 | 285.1563 | 285.1563 | 1 MB |
    5. | StackPush | 731.0 us | 14.54 us | 42.18 us | 285.1563 | 285.1563 | 285.1563 | 1 MB |

    List.Insert benötigt dafür 0,7 Sekunden, während ein Stack, der extra dafür gemacht wurde, das in einem Augenblinzeln erledigt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ISliceUrPanties“ ()