Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Liste von Strings zu einem kommagetrennten String zusammenfügen

Moderationshinweis von herbivore (23.12.2010 - 15:04)

Abgeteilt von listbox.selectedindex liefert 0xffffffff

Bitte nur ein Thema pro Thread

arakhsh_j
myCSharp.de - Member



Dabei seit:
Beiträge: 30

beantworten | zitieren | melden

und noch was wisst ihr vielleicht warum folgende zeilencode nicht funktioniert.

ich möchte von einer liste, befüllt mit Namen von spalten einer Excel-Tabelle, ein einziges string erzeugen mit Spaltennamen und Kommas.
dh. wenn in meine liste folgendes steht :

List<string> liste = new List();


der lise werden 3 strings werte zu gewiesen. [IDnr, Personalnr , konto ].
nun will ich diese liste in einem einzigen string übertragen.
aber wird leider der u. g. code einfach übersprungen!!!

if (liste.Count > 1)
      {
        liste.ForEach(delegate(string spalte)
        {
          spalte =spalte + " ,";
          spaltenListe = splate;
        });
      }
private Nachricht | Beiträge des Benutzers
Lion1984
myCSharp.de - Member



Dabei seit:
Beiträge: 770
Herkunft: Österreich

Themenstarter:

beantworten | zitieren | melden

Ähm setzt dich mit dem debugger hin und finde selbst das PRoblem?
Ist nicht böse gemeint, aber bei so einen "simplen" Beispiel lernt man gleich, wie man mit dem Debugger umgeht.

Pauschal sag ich mal, wenn er was überspringt, trifft wohl eine Bedienung nicht zu.
lg Lion
private Nachricht | Beiträge des Benutzers
arakhsh_j
myCSharp.de - Member



Dabei seit:
Beiträge: 30

beantworten | zitieren | melden

also mit übersprungen meinte ich nur den foreach-teil und nicht die if-anweisung.
das wird übersprungen obwohl die list 3 Einträge beinhaltet??

übrigens vielen dank für die schnelle antworts :-)
private Nachricht | Beiträge des Benutzers
Lion1984
myCSharp.de - Member



Dabei seit:
Beiträge: 770
Herkunft: Österreich

Themenstarter:

beantworten | zitieren | melden

Mal abgesehen von den ganzen Tipfehler sage ich, wenn du richtig Elemente hinzufügst, dann hast du kein Problem mit diesem Snippet.

Ich tippe mal du hast nur den letzten Eintrag in deinem "Gesamtstring", und wieso das so ist, erfährst du mit Debugger :-) Beobachte einfach mal die Variablen.
lg Lion
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 4.643

beantworten | zitieren | melden

Die Hexanzeige setzt du über das Kontextmenü, d.h. bei Anzeige der Zahl im Debugger einfach rechte Maustaste drücken...

Und zu deinem Schleifen-Problem:
die Delegate-Methode arbeitet nur lokal, d.h. die Änderungen an 'spalte' werden nur jeweils pro Eintrag vorgenommen, so daß am Schluß in 'spaltenliste' nur der letzte Eintrag steht.

Verwende besser dafür einfach:


string spaltenliste = String.Join(" ,", liste.ToArray());
private Nachricht | Beiträge des Benutzers
Lion1984
myCSharp.de - Member



Dabei seit:
Beiträge: 770
Herkunft: Österreich

Themenstarter:

beantworten | zitieren | melden

Zitat
die Delegate-Methode arbeitet nur lokal, d.h. die Änderungen an 'spalte' werden nur jeweils pro Eintrag vorgenommen, so daß am Schluß in 'spaltenliste' nur der letzte Eintrag steht.

Hat aber wohl wengier mit der Methode noch mit der Spalte zu tun, es liegt einfach an der Zuweißung: "spaltenliste=spalte", damit überschreibt er immer den Wert, ein "spaltenliste+=spalte" tuts auch. :)
lg Lion
private Nachricht | Beiträge des Benutzers
arakhsh_j
myCSharp.de - Member



Dabei seit:
Beiträge: 30

beantworten | zitieren | melden

erst mal vielen Dank für eure zahlreichen Antworten und Tipps.Es tut mir für die ganzen Tippfehler und dadurch entstandenen Umständen leid.

Ich hab den Lösugnsweg von Th69 ausprobiert, und muss sagen war vom Ergebniss begeistert funktioniert jetzt wunderbar. :-))
private Nachricht | Beiträge des Benutzers

Moderationshinweis von herbivore (23.12.2010 - 15:05)

Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 1.1.1 und 1.1.