Entwickler-Ecke
C# - Die Sprache - Datenaufbereitung in C# !
Matti - Di 10.10.06 12:09
Titel: Datenaufbereitung in C# !
Moin,
habe den Auftrag ein Pro zu schreiben das aus einer Liste von vielen Werten die durch Semikolon getrennt sind ...
Beispiel:
Maus; 21432-MAS; 15; ja;
diese in eine andere Reihnfolge zu bringen.
Beispiel:
21432-MAS; Maus; ja; 15;
Da ich erst neu bei C# bin hab ich da no keine konkreten Vorstellungen. Kann mich dunkel erinnern das man in Unix, Scripte schreiben konnte wo man mit Filezip - Seperatoren (oder so ähnlich) gearbeitet hat. Vielleicht funkts ja in C# auch ...
mfg, Matti
Christian S. - Di 10.10.06 12:23
Hallo!
Wo genau liegt denn jetzt Dein Problem? Also welchen Teil der Aufgabe bekommst Du nicht hin?
Grüße
Christian
Matti - Mi 11.10.06 14:15
Hey ho,
konnte mein pro was ich ni richtig erläutert hatte in eigenrecherche lösen ... also thread kann geschlossen bzw. gelöscht werden !!
mfg, matti
ps: ich komm bestimmt zurück !!
gozza01 - Mo 16.10.06 17:57
Titel: und noch einmal
C#-Quelltext
1: 2: 3: 4: 5: 6:
| string strQuelle = "1;2;3;4;5"; string[] split = strQuelle.Split(';'); Int16 iAnzahl = (Int16)(split.Length - 1); string strNeu = split[4] + ";" + split[3]+ ";" + split[2]+ ";" + split[1]+ ";" + split[0];
Console.WriteLine(strQuelle + " -> " + strNeu + " Anzahl \';\' = " + iAnzahl.ToString() ); |
Moderiert von Christian S.: C#-Tags hinzugefügt
Matti - Mi 18.10.06 00:32
Hey,
danke hat super funktioniert und gleich Einsatz gesunden ;-) ... Steh nur nun schon wieder vor dem nächsten Problem. Will anhand einer ähnlichen Schleife aus einer Liste von Daten nach einem bestimmten String suchen.
Das Problem bei meinem Quelltext ist das er mir die Zeilennummer ausgibt jedoch von allen bis er den Suchbegriff gefunden wurde !!
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| Console.WriteLine("Geben Sie an nach was Sie suchen wollen:"); string option = Console.ReadLine();
int index = 0; int durchlaeufe = 1; for (int i = 0; i < anzahl + 1; i++) { Console.WriteLine(durchlaeufe); do { index = listeneu[i].IndexOf(option); durchlaeufe += 1; } while (index != -1); } |
In listeneu[] steht folgendes:
nein;25,00;Tastatur;48345-GFE-3
ja;15,00;Maus;3725673-VFG-2
nein;100,00;Monitor;3246237-QWS-6
ja;75,00;Drucker;347563-DAY-1
Wenn man dann beispielsweise nach Drucker sucht erscheint:
1
2
3
4
Will aber nur die 4 !!
PS: Bitte lacht nicht über meinen Quelltext :D ...
Moderiert von Christian S.: C#-Tags hinzugefügt
JüTho - Mi 18.10.06 09:43
Hallo Matti,
schau doch genau hin, wo Deine Ausgabezeile steht: nämlich am Anfang der for-Schleife, bevor Du Deinen Such-/Vergleichsvorgang startest. Du musst sie hinter das Ende der for-Schleife setzen.
Übrigens: Versuche einmal, die Funktion Contains() zu benutzen; dann kannst Du auch Ende-Prüfungen vereinfachen.
Gruß Jürgen
Matti - Mi 18.10.06 10:44
Morgen,
wenn ich die Ausgabe hinter die Vorschleife bringe erzeugt sie nix mehr sondern hängt sich auf... Wenn ich sie in die unter die do while schleife schreibe
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| for (int i = 0; i < anzahl + 1; i++) { do { index = listeneu[i].IndexOf(option); durchlaeufe += 1; } while (index != -1); Console.WriteLine(durchlaeufe); } |
erzeugt sie wieder die wilde Ausgabe + das er den ersten Datensatz nicht erfaßt !! :autsch:
Matti - Mi 18.10.06 12:53
Sorry das ich euch belästigt hab... Habs selber hinbekommen warum fällt mir das erst ein wenn ich gepostet habe.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| for (int i = 0; i < anzahl + 1; i++) { index = listeneu[i].IndexOf(option); zeilenzaehler += 1; if (index != -1) { Console.WriteLine(zeilenzaehler);
Console.WriteLine(listeneu[zeilenzaehler - 1]); } } |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!