У меня есть класс со многими коллекциями, загруженными в память. Возможно ли каким-то образом сохранить этот класс со всеми его данными в файл, чтобы он мог просто перезагрузить его в память позже? Есть ли интерфейс, который бы справился со всем этим?Можно ли сохранить произвольные данные в файл на C#?
ответ
То, что вы описываете, называется сериализации. Вы жужжаете объект в некоторый формат данных, который вы можете хранить на диске, а затем вы можете впоследствии десериализовать эти данные в объект. Есть много способов сделать это, но первый шаг будет сделать ваш класс сериализации путем добавления Serializable атрибута:
[Serializable]
public class YourClass
{
// the class goes here
}
Затем вы можете использовать, например, в XmlSerializer
класс для обработки сериализации/десериализации.
Update
Я должен упомянуть, что вы можете использовать XmlSerializer
, даже если ваш класс не украшен атрибутом Serializable
. Однако некоторые другие механизмы сериализации требуют атрибута.
использование BinaryFormatter для сериализации экземпляра
И добавьте [Serializable] атрибут перед определением класса
Вы можете использовать .Net сериализации объекта, просто вы должны отметить свой класс с [Serializable] атрибут и все члены должны быть также сериализации
Пример кода:
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
[Serializable]
class A
{
public static void Serialize(object obj,string filepath)
{
Formatter f = new BinaryFormatter();
f.Serialize(new FileStream(filepath,FileMode.Create),obj);
}
public static A Deserialize(string filepath)
{
Formatter f = new BinaryFormatter();
return f.Deserialize(new FileStream(filepath, FileMode.Open)) as A;
}
}
- 1. Можно ли вставить произвольные данные в таблицу?
- 2. Можно ли хранить произвольные данные в GAE Golang Blobstore?
- 3. Можно ли прикреплять произвольные данные к фактическому файлу в PHP
- 4. Можно ли добавить произвольные данные в экземпляр ObjectifiedElement?
- 5. Декомпрессировать произвольные данные?
- 6. Записывает ли произвольные данные в файл ELF спецификацию ELF?
- 7. Можно ли сохранить неверсионный файл в репозитории
- 8. Можно ли сохранить данные MPGO между сборками?
- 9. firebug: можно ли сохранить вывод в файл?
- 10. Можно ли сохранить результаты сканирования в файл?
- 11. Есть ли способ сохранить данные анимации или произвольные данные в файле Collada из SceneKit?
- 12. Можно ли запускать произвольные запросы с Linq to SQL? (C#)
- 13. Можно ли сохранить файл на рабочий стол? Windows Store
- 14. сохранить данные в txt-файл? C++
- 15. Можно ли передавать данные в файл css?
- 16. Можно ли сохранить файл перед закрытием?
- 17. Скопировать файл в произвольные каталоги?
- 18. Objective-C определяет, можно ли сохранить аргумент?
- 19. iPhone: можно сохранить файл .caf в Фотобиблиотеке?
- 20. Можно ли изменить произвольные файлы во время разрешения конфликта слияния?
- 21. Могу ли я добавить произвольные данные в package.json и как?
- 22. Хранить произвольные данные приложения в System.Windows.Forms.RichTextBox
- 23. Можно ли публиковать произвольные результаты JUnit для SonarQube?
- 24. Произвольные типизированные данные в модели django
- 25. Можно ли сравнить двоичный файл в C#?
- 26. Нажимайте произвольные данные на сервер Meteor
- 27. передавать произвольные данные частичный вид на макете
- 28. Как хранить произвольные данные в виджетах GWT?
- 29. Можно ли временно сохранить данные формы в модальной кнопке?
- 30. Как сохранить пользовательские данные как допустимое jpeg-изображение в C#
XML сериализации словаря является самая легкая вещь когда-либо! –