Hallo! Ich komme gerade nicht weiter. Ich habe eine Liste, nennen wir sie mal "listedLines", die folgendes enthält... BO_ 300 EngSpeedContr: 1 EngineTest BO_ 100 EngineData: 4 EngineControl BO_ 201 ABSdata: 3 ABS BO_ 199 WheelInfoIEEE: 8 ABS BO_ 200 WheelInfo: 8 ABS Nun möchte ich aus der Liste, nur die Namen, sprich das zweite Element: EngSpeedContr EngineData ABSdata WheelInfoIEEE WheelInfo herauslesen und in ein File schreiben. Mir fehlt gerade der Ansatz, weil ich das über "ElementAt(2)" probiert habe und es nicht klappt. Kann mir da jemand was anderes empfehlen? Gruß
Zeig mal bitte die Definition der Daten.
Alan G. schrieb: Nehmen wir mal an, dass diese "Liste" (egal ob wirklich Liste oder Array) Elemente vom Typ string beinhaltet, dann spricht man man die einzelnen Listeneinträge (also Zeilen) entweder über eine explizite Indizierung an oder per Enumerator. Wenn die Ausgabereihenfolge der einzelnen Einträge keine Rolle spielt oder die Standardreihenfolge vom kleinsten zum größten Index passend ist, dann kann man einfach einen Enumerator der Liste bzw. des Arrays benutzen. also sowas: foreach (var line in listedLines) { //hier der Teil, der sich mit der einzelnen Zeile //beschäftigt, die hier in der Variablen namens line //bereitgestellt wird } > die folgendes > enthält... > > BO_ 300 EngSpeedContr: 1 EngineTest > BO_ 100 EngineData: 4 EngineControl > BO_ 201 ABSdata: 3 ABS > BO_ 199 WheelInfoIEEE: 8 ABS > BO_ 200 WheelInfo: 8 ABS > > Nun möchte ich aus der Liste, nur die Namen, sprich das zweite Element: > EngSpeedContr > EngineData > ABSdata > WheelInfoIEEE > WheelInfo Nein. Du willst nicht das zweite Element der Liste herauslösen, sondern das zweite (?!) "Element" JEDES Elementes der übergebenen Liste. Damit habe ich dir jetzt schonmal gegen meinen Willen die erste Hälfte der Lösung deiner Hausaufgabe verraten. Warum nun "(?!)"?. Hier steckt der zweite Knackpunkt deiner Hausaufgabe. Ein String kennt von Hause aus allenfalls Elemente im Sinne der einzelnen Zeichen, aus denen er besteht. Der Sinn der Hausaufgabe dürfte also sein, dass du (mittels der Anwendung des vermittelten Wissens) eine eigene Idee entwickelst, wie du den Scheiß in "Elemente" zerlegst, die zu deiner Intention passen. Den Teil darfst du nun doch selber lösen. Tipps dazu: Der string-Typ selber kennt bereits eine Menge nützlicher Methoden für den Zweck, ihn in "Elemente" zu zerlegen. Es gibt aber auch noch wesentlich cleverere Sachen zur Stringzerlegung im Namespace System.Text.RegularExpressions... Also alles schon da, du musst es nur noch kompetent benutzen...
Martin S. schrieb: > Zeig mal bitte die Definition der Daten. Das sind offensichtlich DBC-Dateien. Glaube kaum dass das eine Hausaufgabe ist, denn mit sowas hat man an Hochschulen eher weniger zu tun... Du solltest nicht die einzelnen Zeilen der Datei in eine Liste einlesen. Besser wäre es, jede einzulesen, und mithilfe der String-Funktionen (substr, length, find, usw) in ihre Bestandteile zu zerlegen. Das Ergebnis packst du dann in entsprechende Datenstrukturen (Klassen), und die packst du dann in eine Liste.
Danke euch für eure Antworten! Ihr habt mir echt weiter geholfen. Ich habe es hinbekommen. :) Gruß
Dr. Sommer schrieb: > Das sind offensichtlich DBC-Dateien. Glaube kaum dass das eine > Hausaufgabe ist, denn mit sowas hat man an Hochschulen eher weniger zu > tun... Du magst es glauben oder nicht: Es gibt auch diverse Bildungswege unterhalb des Hochschulniveaus, in denen Programmieraufgaben vorkommen und in denen Hausaufgaben erteilt werden... Heute eigentlich alles ab Abitur (ganz sicher) oder Lehre (zumindest für alle technisch oder kaufmännisch orientierte Berufe). Wie alt bist du? 200? Keine Kinder oder Enkel? Oder nur kein Interesse an deren Bildungsweg?
Was ist denn mit dir los, wurdest du gestern nicht "ran" gelassen? Welche Hochschule kann sich denn die Arbeit mit den Vector Tools, welche ja die DBC-Dateien verwenden, leisten? An Hochschulen werden doch eher Alibi-Aufgaben gestellt, statt sinnvoller Arbeit mit echten Daten. Ich würde viel eher auf Formula Student tippen, denn FS-Teams bekommen die Software oft gesponsort. Sich damit freiwillig zu beschäftigen und auch mal Fragen zu stellen finde ich schon lobenswert.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.