Apsolutno se slažem sa ovim što je rekao Shadowed, ali ako baš budeš hteo da koristiš serijalizaciju/deserijalizaciju, šaljem ti parče koda:
Code:
private void Deserialize()
{
try
{
using (Stream stream = File.Open(AppDomain.CurrentDomain.BaseDirectory + "BasicData.dat", FileMode.Open))
{
BinaryFormatter bin = new BinaryFormatter();
fileData = (SortedDictionary<string, string>)bin.Deserialize(stream);
}
}
catch (IOException ioex)
{
MessageBox.Show(ioex.Message);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void Serialize()
{
try
{
using (Stream stream = File.Open(AppDomain.CurrentDomain.BaseDirectory + "BasicData.dat", FileMode.Create))
{
BinaryFormatter bin = new BinaryFormatter();
bin.Serialize(stream, fileData);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
"BasicData.dat" je fajl u koji se snimaju podaci i koji se nalazi u istom direktorijumu gde se nalazi i glavni exe fajl Možeš da izmeniš naziv ovog fajla.
"fileData" je tvoj SortedDictionary. On bi trebao da bude deklarisan u klasi tako da bude vidljiv iz svih metoda klase.
Kada budeš želeo da snimiš izmene, pozovi metodu "Serialize()" a kada budeš hteo da iščitaš podatke iz fajla pozovi "Deserialize()".