Benutzer mit den meisten Antworten
alle elemente eine list<int, string> in eine "Sammel-String" schreiben und im Messagebox zurückgeben

Frage
-
Guten Morgen zusammen,
ich habe eine liste aus einer Klasse. die Klasse besteht aus 2 Parameter (int flyerId, string flyerbez). Ich möchte jetzt jede Datensatz von meiner Liste in einer Message-box zurückgeben. jede Daten in der liste sollte in einer Zeile geschrieben werden. ich möchte so im Display bekommen
Folgende Flyer sind vorhanden
flyerID Flyerbez
1 - flyer1,
4 - flyer2,
6 - fplyer12,
ich habe schön viel probiert.
// Die Klasse public class VersandFlyer { public int FlyerID { get; set; } public string FlyerBezeichnung { get; set; } public string Artikelnummer { get; set; } } List<VersandFlyer> _listFlyerBezAndID = new List<VersandFlyer>(); List<VersandFlyer> _removeduplicate2 = new List<VersandFlyer>(); if (_listFlyerBezAndID.Count() != 0) { string AllFlyerBez2 = string.Empty; string AllFlyerBez3 = string.Empty; _removeduplicate2 = _listFlyerBezAndID.GroupBy(FBez => FBez.FlyerID).Select(g => g.FirstOrDefault()).OrderBy(s => s.FlyerID).ToList(); //_removeduplicate2 = _listFlyerBezAndID.GroupBy(FBez => FBez.FlyerBezeichnung).ToList(); for (int i = 0; i < _removeduplicate2.Count; i++) { AllFlyerBez2 = string.Join("", _removeduplicate2.ToString().ToArray()); // die zeile funktioniert nicht. meldung "System.Collections.Generic.List`1[Komm.VersandFlyer]" AllFlyerBez2 = string.Format("{0} - {1}, \r\n", _removeduplicate2[i].FlyerID, _removeduplicate2[i].FlyerBezeichnung); // Die Zeile übergibt einzelne elemente von der liste zurück meldung "4 - flyer4, " AllFlyerBez3 = string.Join("", AllFlyerBez2.ToString().ToArray()); //da möchte ich alle elemente von der liste sammeln und im Message box geben. (FlyerID - Flyerbez,) } MessageBox.Show(String.Format("Folgende Flyer sind vorhanden:\r\n{0}", AllFlyerBez3), "Hinweis", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }
Danke im voraus für eure Hilfe.
- Bearbeitet Matsak Dienstag, 25. Oktober 2016 09:13
Antworten
-
Hi,
String resulta = String.Join( Environment.NewLine, ( from n in _listFlyerBezAndID select n.FlyerID.ToString() + " - " + n.FlyerBezeichnung ) );
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Matsak Dienstag, 25. Oktober 2016 09:47
Alle Antworten
-
Hi,
probier mal diesen Code:
List<VersandFlyer> _listFlyerBezAndID = new List<VersandFlyer>(); _listFlyerBezAndID.Add( new VersandFlyer() { FlyerID = 1, Artikelnummer = "00001", FlyerBezeichnung = "Abc" } ); _listFlyerBezAndID.Add( new VersandFlyer() { FlyerID = 2, Artikelnummer = "00002", FlyerBezeichnung = "Def" } ); _listFlyerBezAndID.Add( new VersandFlyer() { FlyerID = 3, Artikelnummer = "00003", FlyerBezeichnung = "Ghi" } ); _listFlyerBezAndID.Add( new VersandFlyer() { FlyerID = 4, Artikelnummer = "00004", FlyerBezeichnung = "Xyz" } ); String result = String.Join( Environment.NewLine, ( from n in _listFlyerBezAndID select n.FlyerBezeichnung ) );
Für dich relevant ist nur die letzte Zeile, der Rest dient nur dazu, das Beispiel nachvollziehbar zu machen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hallo Stefan,
Danke für die schnelle Antwort.
Die letzte Zeile übergibt mir nur die Flyerbez ohne FlyerID zurück.
so:
Flyer1
Flyer2
Flyer3
fl12Aber ich möchte auch die FlyerID zurückgeben.
so:
1- Flyer1,
2-Flyer2,
3-Flyer3,
4-fl12,Danke
- Bearbeitet Matsak Dienstag, 25. Oktober 2016 09:38
-
Hi,
String resulta = String.Join( Environment.NewLine, ( from n in _listFlyerBezAndID select n.FlyerID.ToString() + " - " + n.FlyerBezeichnung ) );
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Matsak Dienstag, 25. Oktober 2016 09:47