Skip to content

Instantly share code, notes, and snippets.

@suchja
Last active June 15, 2017 09:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save suchja/e2a4abdbc738c89e143f49c6b0c37107 to your computer and use it in GitHub Desktop.
Save suchja/e2a4abdbc738c89e143f49c6b0c37107 to your computer and use it in GitHub Desktop.
Die 5. Folge von #FragLernMoment erklärt dir wie du den Zustand von Objekten in eine (CSV) Datei speicherst und zu einem späteren Zeitpunkt daraus wieder laden kannst. - https://youtu.be/-GBbsxPMzg8
using System;
using System.IO;
namespace ObjekteSerialisieren
{
class Computer
{
public string ZugeordneterMitarbeiter { get; set; }
public int GeraeteId { get; set; }
public DateTime Anschaffungsdatum { get; set; }
public Computer() { }
public Computer(string csvString)
{
string[] csvEntries = csvString.Split(',');
GeraeteId = Convert.ToInt32(csvEntries[0]);
ZugeordneterMitarbeiter = csvEntries[1];
Anschaffungsdatum = Convert.ToDateTime(csvEntries[2]);
}
public override string ToString()
{
string resultat = $"Geräte-Id: {GeraeteId}" + Environment.NewLine;
resultat += $"Zugeordneter Mitarbeiter: {ZugeordneterMitarbeiter}" + Environment.NewLine;
resultat += $"Computer angeschafft am: {Anschaffungsdatum}";
return resultat;
}
public string ToCsvString()
{
return $"{GeraeteId},{ZugeordneterMitarbeiter},{Anschaffungsdatum}";
}
}
class Program
{
private const string nameUndPfadComputerDatei = "Computer.csv";
static void Main(string[] args)
{
Computer ersterComputer = null;
if (File.Exists(nameUndPfadComputerDatei))
{
string computerAsCsvString = File.ReadAllText(nameUndPfadComputerDatei);
ersterComputer = new Computer(computerAsCsvString);
}
else
{
ersterComputer = new Computer();
ersterComputer.GeraeteId = 1;
ersterComputer.ZugeordneterMitarbeiter = "Jan von LernMoment.de";
ersterComputer.Anschaffungsdatum = DateTime.Now;
}
// Daten werden im Speicher gehalten und bei Bedarf geändert oder ausgegeben
ersterComputer.ZugeordneterMitarbeiter = "Michael";
Console.WriteLine(ersterComputer);
// Vor dem schließen (oder nach kritischen Änderungen) werden die Daten gespeichert.
File.WriteAllText(nameUndPfadComputerDatei, ersterComputer.ToCsvString());
Console.WriteLine();
Console.WriteLine("Bitte 'Enter' drücken zum Schließen der Anwendung!");
Console.ReadLine();
}
}
}
@suchja
Copy link
Author

suchja commented Jun 15, 2017

Diese Folge von #FragLernMoment besteht aus 2 Videos:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment