Hallo ich habe ein Problem in meinen Projekt. Dieses programmiere ich innerhalb von Visual Studio mit CSharp. Es soll folgendermaßen funktionieren: Ich speichere Daten mithilfe von Textfeldern und Buttons in einem Array. Dann habe ich die Möglichkeit dieses Array zu durchsuchen, nach Kundennummer, Firmenname, Straße, Ort und Plz. Dabei habe ich folgenden Code verwendet:
private void buttonSuchen_Click(object sender, EventArgs e)
{
string SuchEingabe = textBoxSuche.Text.Trim().ToLower();
List<Tkunde> suchergebnisse = new List<Tkunde>();
switch (labelSpeziSuche.Text)
{
case "Die Kundennummer eingeben":
foreach (Tkunde kunde in KundenArray)
{
if (kunde.Kundennummer.ToString().Contains(SuchEingabe))
{
suchergebnisse.Add(kunde);
}
}
break;
case "Den Firmennamen eingeben":
foreach (Tkunde kunde in KundenArray)
{
if (kunde.Firmenname.ToLower().Contains(SuchEingabe))
{
suchergebnisse.Add(kunde);
}
}
break;
case "Die Straße eingeben":
foreach (Tkunde kunde in KundenArray)
{
if (kunde.Straße.ToLower().Contains(SuchEingabe))
{
suchergebnisse.Add(kunde);
}
}
break;
case "Die Plz eingeben":
foreach (Tkunde kunde in KundenArray)
{
if (kunde.Plz.ToString().Contains(SuchEingabe))
{
suchergebnisse.Add(kunde);
}
}
break;
case "Den Ort eingeben":
foreach (Tkunde kunde in KundenArray)
{
if (kunde.Ort.ToLower().Contains(SuchEingabe))
{
suchergebnisse.Add(kunde);
}
}
break;
default:
break;
}
// Ausgabe der Suchergebnisse
if (suchergebnisse.Count > 0)
{
StringBuilder sb = new StringBuilder();
foreach (Tkunde kunde in suchergebnisse)
{
sb.AppendLine($"Kundennummer: {kunde.Kundennummer}, Firmenname: {kunde.Firmenname}, Straße: {kunde.Straße}, PLZ: {kunde.Plz}, Ort: {kunde.Ort}");
}
MessageBox.Show(sb.ToString(), "Suchergebnisse");
}
else
{
MessageBox.Show("Keine Ergebnisse gefunden.", "Suchergebnisse");
}
Jetzt kommt aber der Witz: Wenn ich nach gespeicherten Kundennummern bzw. Plz suche, gibt er mir alle zutreffenden Ergebnisse aus, auch Firmenname Straße und Ort. Suche ich jetzt allerdings nach den Firmennamen, der Straße oder dem Ort, dann kommt der Fehler: System.NullReferenceException: "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.""kunde.Firmenname" war "null".Wie kann das passieren, wenn ich doch zuvor die Werte für alle 5 Angaben richtig ausgegeben bekommen habe?
Hat ohne Probleme geklappt . Ich konnte wirklich Tagelang nicht weitermachen. Nochmals danke^^