Linq бинарный файл

335
24 января 2017, 20:58

Провожу сериализацию в бинарник, потом эти записанные данные могут обновится и нужно сделать запись об этом в бинарник. Как можно найти нужную запись и обновить? Через linq получится? Или лучше для таких целей использовать сериализацию в xml?

Спасибо!

Answer 1

Обе сериализации — что бинарная, что XML-сериализация — являются строго потоковыми. В них невозможно чисто, без проблем найти одну нужную запись и обновить. Подумайте, что будет, если новая запись короче или длиннее старой?

Если вы хотите обновление конкретных записей, вам стоит придумать собственный формат. Например, такой, в котором записи имеют фиксированную длину в байтах (если это возможно).

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

READ ALSO
WPF в С# проблема с custom

WPF в С# проблема с custom

Есть код XAML и есть класс CustomVisualFrameworkElement, который унаследован от FrameworkElement и реализует с помощью Visual некоторые фигурыНо XAML почему то не видит...

521
Логика в LINQ запросах

Логика в LINQ запросах

Можно сделать проверку переменной на null в LINQ запросе? Если переменная равна NULL то where не производит фильтрацию

373
Видеоплеер для WinForms

Видеоплеер для WinForms

В WinForm приложение нужно встроить видео плеерНеобходимы в основном только базовые команды - воспроизведение, пауза, стоп, перемотка (переместиться...

479