2010-11-26 3 views
0

Попытка запустить строку словаря и записать содержимое в файл, который должен быть легким на глазах.Запишите в файл словарь объектов и строку

Dictionary<CArray, string> dictCArray = new Dictionary<CArray, string>(); 
      DateTime dtmPad = DateTime.Today; 
      for (int i = 0; i < s1.Length/2; i++) 
      { 
       CArray caobject = new CArray(); 
       dictCArray.Add(caobject, s1[i, 0]); 
       for (int x = 0; x < idatelength; x++) 
       { 
        caobject.dtmday = dtmPad.AddDays(x); 
        caobject.s2 = Create(ilength); 
        caobject.s3 = s1[i, 1]; 
        caobject.dictC.Add(caobject.dtmday, caobject.s2); 
       } 
      } 

Где CArray - класс с двумя строками и словарь, содержащий дату и время.

class CArray 
{ 
    public DateTime dtmday; 
    public string s2; 
    public string s3; 
    public Dictionary<DateTime, string> dictC = new Dictionary<DateTime, string>(); 
} 

Мне нужен способ запустить через него и выход его в файл, а также иметь возможность читать файл обратно в том же формате. Я просто не понимаю, как это сделать. Любая помощь будет оценена по достоинству.

ответ

1

Вы должны изучить serialization. Все, что вам нужно сделать, это реализовать две функции для вашего пользовательского класса.

Примечание. Это не будет делать легко читаемые файлы, но это будет хорошо работать для сохранения/загрузки из файлов.

0

Вы можете прокручивать различные типы в линейном режиме и использовать BinaryWriter. Чтобы прочитать данные назад, вы должны использовать BinaryReader.

Вы можете написать DateTime как можно длиннее через Ticks.

Вот brief sample на записи/чтения с BinaryWriter и BinaryReader и Dictionary<K,V>