Announcement

Collapse
No announcement yet.

Array sortieren und bestimmte daten auslesen?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Array sortieren und bestimmte daten auslesen?

    Hi,
    habe da mal ne frag und hoffe ihr könnt mir da weiterhelfen.
    Ich lese eine datei aus die datensätze enthält und packe das ganze in ein array! Jetzt will ich aber die datensätze im array sortieren und sortiert . Danach sollen bestimmte datensätze in eine neue datei übergeben werden.

    Beispiel:

    1234Text 1234 Text 1234Text
    4321Text2 sotiert 1234Text neue datei
    4567text3 4321Text2
    1234Text 4567Text3

    Wie mach ich das.
    Also einlesen und neue datei übergeben ist net schwer nur wie kann ich das array sortiern und sagen er soll nur z.b 1234Text übergeben egal wie oft das vorkommt.
    Bin am verzweifeln

    PLZ wenn wer weiss wie das geht antworten oder wenn wer ne vermutung hat hilf alles.

  • #2
    Hallo,

    also du könntest zu beginn mal alles in eine List<string> einlesen. Jedesmal vor dem einfügen eines neuen Elementes (Add) prüfst du, ob es schon enthalten ist (Contains).

    Ich glaube es gibt sogar eine Sortierfunktion auf listen (Sort), ob die aber so sortiert wie du das brauchst weiß ich nicht....

    Am Ende kannst du die Liste einfach in ein Array konvertieren, wenn du das brauchst (ToArray).

    Hoffe das hilft etwas...

    Grüße

    Edit: Sehe grade, dass ich irgendwie nicht ganz kapiert habe, wie du sortieren willst...das Beispiel ist mir nicht ganz klar...
    Zuletzt editiert von markusbischof; 27.11.2007, 16:05.

    Comment


    • #3
      Hallo,

      wenn es nicht unbedingt ein Array sein muss und Du stattdessen ein List<string> verwendest, lässt sich das Problem "Sortieren und Finden" in zwei Zeilen lösen

      Code:
      List<string> list=new List<string>(new string[]{"eins", "zwei", "drei", "vier", "zehn"});
      
      // Sortieren			
      list.Sort (delegate(string s1, string s2){return string.Compare(s1, s2);});
      
      // Filtern
      List<string> filtererdList = list.FindAll( delegate(string s1){return s1.StartsWith("z");});
      Die beiden delegates musst Du natürlich an Dein Problem anpassen.

      HTH
      Peter

      Comment

      Working...
      X