//Überladene Methode: Gleicher Name aber andere Parametertypen public static void FügeNeuenHighscoreHinzu(HighscoreEintrag eintrag) { HighscoreListe.Add(eintrag); StreamWriter writer = null; try { //Speichere Liste in Datei writer = new StreamWriter(Dateiname, false); //Serialisierungen: Binäre Daten (.NET Objekte im RAM) in einen String umwandeln //JSON: Komprimiert und Speicherplatz sparend (string hat weniger zeichen) //XML: Ausführlicher, besser lesbar, von Menschen gut bearbeitbar string jsonString = JsonConvert.SerializeObject(HighscoreListe); writer.Write(jsonString); writer.Close(); } catch (Exception exp) { System.Windows.Forms.MessageBox.Show(exp.Message); return; } //Finally-Block wird immer ausgeführt, auch dann wenn im catch-Block returned wurde finally { //Schließe die Datei, falls writer ungleich null ist writer?.Close(); } //Eintrag in Datenbank SqlConnection connection = null; try { //In Datenbank abspeichern mittels ADO.NET connection = new SqlConnection(Connection_String); connection.Open(); //In DB speichern using (var command = connection.CreateCommand()) { command.CommandText = "INSERT INTO [Table] (Name,Score,Datum) VALUES (@name,@score, @datum)"; command.Parameters.AddWithValue("@name", eintrag.Name); command.Parameters.AddWithValue("@score", eintrag.Score); command.Parameters.AddWithValue("@datum", eintrag.Datum); if (command.ExecuteNonQuery() != 1) { System.Windows.Forms.MessageBox.Show("Datenbank Problem"); } } } catch (Exception exp) { System.Windows.Forms.MessageBox.Show($"Es gibt ein Problem mit der DB-Verbindung, bitte lege eine passende Datenbank an!\nFehlermeldung: {exp.Message}"); } finally { connection?.Close(); } }
public static bool FilterNachScore(HighscoreEintrag eintrag) { return(eintrag.Score > 15); }
public static object SortierKriterium(HighscoreEintrag eintrag) { System.Windows.Forms.MessageBox.Show(eintrag.ToString()); return(eintrag.Score); }
public static void FügeNeuenHighscoreHinzu(string name, int score, DateTime datum) { HighscoreEintrag eintrag = new HighscoreEintrag(score, name, datum); FügeNeuenHighscoreHinzu(eintrag); }