Benutzer mit den meisten Antworten
if-Abfrage bei meinem Projekt

Frage
-
Hallo, ich benötige eine kleine Hilfestellung bei meinen Problem. Ich möchte gerne lediglich den Auftrag ausgeben, der zu der eingebenen Auftragsnummer passt. (Also, wenn 1, dann Auftrag 1)
Hier ist meine Form:
public partial class Form1 : Form { List<Auftrag> AuftragEingabe = new List<Auftrag>(); public Form1() { InitializeComponent(); } private void BtnTest_Click_1(object sender, EventArgs e) { txtVorname.Text = "Max"; txtNachname.Text = "Mustermann"; txtPLZ.Text = "22083 Musterstadt"; txtAdresse.Text = "Musterstraße 1"; txtBeladestandort.Text = "Hamburg"; txtEntladestandort.Text = "Bremen"; txtLiefertermin.Text = "22.01.2020"; txtArtikelName.Text = "Teer"; txtArtikelAnzahl.Text = "/"; txtArtikelGewicht.Text = "1,8t"; txtArtikelVolumen.Text = "1cbm"; txtBeladezeitundEntladezeit.Text = "ca. 1 Stunde"; txtDauerdesTransports.Text = "3 Stunden"; } private void BtnokEingabe_Click(object sender, EventArgs e) { Auftrag Auftragg = new Auftrag(); Auftragg.Vorname = txtVorname.Text; Auftragg.Nachname = txtNachname.Text; Auftragg.PLZ = txtPLZ.Text; Auftragg.Adresse = txtPLZ.Text; Auftragg.Beladestandort = txtBeladestandort.Text; Auftragg.Entladestandort = txtEntladestandort.Text; Auftragg.Liefertermin = txtLiefertermin.Text; Auftragg.Artikelname = txtArtikelName.Text; Auftragg.Artikelanzahl = txtArtikelAnzahl.Text; Auftragg.Gewicht = txtArtikelGewicht.Text; Auftragg.Volumen = txtArtikelVolumen.Text; Auftragg.Ausfuehrungsdauer = txtBeladezeitundEntladezeit.Text; Auftragg.DauerdT = txtDauerdesTransports.Text; Auftragg.Auftragsnummer = txtAuftragsnummerEingabe.Text; AuftragEingabe.Add(Auftragg); } //Wie gebe ich hier nur den gesuchten Auftrag aus? private void BtnokAbfrage_Click(object sender, EventArgs e) { int.TryParse(txtAuftragsnummerAusgabeEingabe.Text, out int Auftragsnummer); StringBuilder sb = new StringBuilder(); foreach (var Auftragg in AuftragEingabe) { sb.AppendLine((Auftragg.AuftragzsmfAusgabe)); } txtAusgabe.Text = sb.ToString(); } }
Außerdem habe ich noch eine weitere Klasse:
class Auftrag { public string Vorname { get; set; } public string Nachname { get; set; } public string PLZ { get; set; } public string Adresse { get; set; } public string Beladestandort { get; set; } public string Entladestandort { get; set; } public string Liefertermin { get; set; } public string Artikelname { get; set; } public string Artikelanzahl { get; set; } public string Gewicht { get; set; } public string Volumen { get; set; } public string Ausfuehrungsdauer { get; set; } public string DauerdT { get; set; } public string Auftragsnummer { get; set; } public string AuftragzsmfAusgabe { get { string ausgabe; ausgabe = "Auftragsnummer: " + Auftragsnummer + Environment.NewLine; ausgabe += "Vorname: " + Vorname + Environment.NewLine; ausgabe += "Nachname: " + Nachname + Environment.NewLine; ausgabe += "Adresse: " + Adresse + ", " + PLZ + Environment.NewLine; ausgabe += "Beladestandort: " + Beladestandort + Environment.NewLine; ausgabe += "Entladestandort: " + Entladestandort + Environment.NewLine; ausgabe += "Liefertermin: " + Liefertermin + Environment.NewLine; ausgabe += "Artikel: " + Artikelname + Environment.NewLine; ausgabe += "Artikelanzahl: " + Artikelanzahl + Environment.NewLine; ausgabe += "Gewicht (insg.): " + Gewicht + Environment.NewLine; ausgabe += "Volumen (insg.): " + Volumen + Environment.NewLine; ausgabe += "Belade- Entladezeit: " + Ausfuehrungsdauer + Environment.NewLine; ausgabe += "Dauer des Transports: " + DauerdT + Environment.NewLine; return ausgabe; } } }
Ich würde mich sehr über eine Hilfestellung freuen. :)
MfG
- Bearbeitet Julesasksquestion Dienstag, 21. Januar 2020 12:12
Antworten
-
Ich würde das ganze (auch wenn es komplizierter ist), gerne mit if-Abfragen machen. Würde es da eine Möglichkeit geben, das umzusetzten?
foreach (var Auftragg in AuftragEingabe) { if( Auftragg.Auftragsnummer == Auftragsnummer.ToString() ) { sb.AppendLine( Auftragg.AuftragzsmfAusgabe ); } }
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 27. Januar 2020 06:16
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 4. Februar 2020 12:48
Alle Antworten
-
Hi,
Du kannst LinQ bemühen, z.B. so:private void BtnokAbfrage_Click(object sender, EventArgs e) { int.TryParse(txtAuftragsnummerAusgabeEingabe.Text, out int Auftragsnummer); Auftrag Auftragg = (from a in AuftragEingabe where a.Auftragsnummer == Auftragsnummer.ToString() select a).FirstOrDefault(); txtAusgabe.Text = Auftragg.AuftragzsmfAusgabe; }
Oder auch mit den Erweiterungsmethoden von LinQ:
private void BtnokAbfrage_Click(object sender, EventArgs e) { int.TryParse(txtAuftragsnummerAusgabeEingabe.Text, out int Auftragsnummer); Auftrag Auftragg = AuftragEingabe.Where((a) => a.Auftragsnummer == Auftragsnummer.ToString()).FirstOrDefault(); txtAusgabe.Text = Auftragg.AuftragzsmfAusgabe; }
--
Best Regards / Viele Grüße
Peter Fleischer (former MVP for Developer Technologies)
Homepage, Tipps, Tricks- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 27. Januar 2020 06:16
-
Ich würde das ganze (auch wenn es komplizierter ist), gerne mit if-Abfragen machen. Würde es da eine Möglichkeit geben, das umzusetzten?
foreach (var Auftragg in AuftragEingabe) { if( Auftragg.Auftragsnummer == Auftragsnummer.ToString() ) { sb.AppendLine( Auftragg.AuftragzsmfAusgabe ); } }
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 27. Januar 2020 06:16
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 4. Februar 2020 12:48