2016-12-31 8 views
1
 FileStream fs = new FileStream("Answears.dat", FileMode.Create); 
    Dictionary<string, List<string>> chats = new Dictionary<string, List<string>>(); 

    BinaryFormatter formatter = new BinaryFormatter(); 
    public void Start() 
    { 

       chats = (Dictionary<string, List<String>>) formatter.Deserialize(fs); //here is a error 
       fs.Close(); 

    } 

ли вы теперь любой другой вариант, чтобы сохранить словарь (а также позже загрузить снова) в файле. ^^C# сохранить словарь с <строка, список <string>> в .dat с BinaryFormatter (или что-то еще)

спасибо вам помочь

Paul :)

+2

См. [Альтернатива BinaryFormatter] (http://stackoverflow.com/q/3 512776/3744182) или [C# - альтернативы, доступные для чтения в формате XML для двоичного файла) (http://stackoverflow.com/q/33265104/3744182). Связано: [Каковы недостатки встроенной сериализации на основе BinaryFormatter .Net?] (Http://stackoverflow.com/q/703073/3744182). – dbc

ответ

1

Я хотел бы использовать Json.Net, независимый от версии сборки изменений и результатов в читаемом тексте ...

File.WriteAllText(filename, JsonConvert.SerializeObject(yourDict)); 

Позже вы может загружать его как

var yourDict = JsonConvert.DeserializeObject<Dictionary<string,List<string>>>(File.ReadAllText(filename));