Serialisera och deserialisera ett Dictionary

Serialisera och deserialisera ett Dictionary

Behövde i dagarna xml-serialisera och deserialisera ett dictionary för att spara information på disk. Lösningen blev Adar Wesleys SerializableDictionary. När filerna är inkluderade i projektet går det använda Serializable Dictionary såhär:

Kodexempel serialisering och deserialisering av dictionary

/// <summary>
/// Loads a Serializable dictionary which holds a saved values
/// </summary>
private void LoadExistingFile()
{
    SerializableDictionary<string, int> data = new SerializableDictionary<string, int>();
    if (File.Exists("file.xml"))
    {
        XmlSerializer s = new XmlSerializer(typeof(SerializableDictionary<string, int>));
        using (StreamReader sr = new StreamReader("file.xml"))
        {
            data = s.Deserialize(sr) as SerializableDictionary<string, int>;
        }
    }
}
/// <summary>
/// Saves existing KeyValuePairs to disc
/// </summary>
private void SaveDictionaryToDisc()
{
    SerializableDictionary<string, int> data = new SerializableDictionary<string, int>();
    XmlSerializer s = new XmlSerializer(typeof(SerializableDictionary<string, int>));
    using (StreamWriter sw = new StreamWriter("file.xml"))
    {
        s.Serialize(sw, data);
    }
}