Autor Beitrag
Matti
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Di 10.10.06 12:09 
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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Matti Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: 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
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 16.10.06 17:57 
Titel: und noch einmal
ausblenden 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 user profile iconChristian S.: C#-Tags hinzugefügt
Matti Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: 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 !!

ausblenden 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 user profile iconChristian S.: C#-Tags hinzugefügt
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: 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

ausblenden 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 Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: 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.

ausblenden 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]);
                    }
                }