Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
5 / 5 / 2
Регистрация: 25.11.2016
Сообщений: 71

Serializable в binary коллекции лист

06.06.2017, 12:13. Показов 1920. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
прошу помочь, не могу понять как десериализовать коллекцию List
ошибка в методе десериализации коллекции settings, как правильно сделать?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
using System;
using System.Collections.Generic;
using System.Dynamic;
using System.IO;
using System.Linq;
using System.Runtime.Serialization.Formatters.Binary;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Net.Mail;
using System.Security.Permissions;
 
namespace e_mail
{
    [Serializable]
    public class Settings
    {
        public string LoginEmail { get; set; } // почтовое имя
        public string PasswordEmail { get; set; } // пароль
        public int SmtpPort { get; set; } // порт для smtp
        public string SmtpHost { get; set; } // сервер для отправки
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            Settings options = new Settings();
            List<Settings> settings = new List<Settings>();
 
            Console.Write("Введите адрес электронной почты -> ");
            options.LoginEmail = Console.ReadLine();
            Console.Write("Введите пароль -> ");
            options.PasswordEmail = Console.ReadLine();
            Console.Write("Введите порт сервера -> ");
            options.SmtpPort = Convert.ToInt32(Console.ReadLine());
            Console.Write("Введите smtp сервер -> ");
            options.SmtpHost = Console.ReadLine();
            settings.Add(options);
 
            BinaryFormatter formatter = new BinaryFormatter();
            //получаем поток, куда будем записывать сериализованный объект
            using (FileStream stream = new FileStream("setings.dat", FileMode.OpenOrCreate))
            {
                formatter.Serialize(stream, options);
                Console.WriteLine("Объект сериализован");
            }
 
            // десериализация из файла people.dat
            using (FileStream stream = new FileStream("setings.dat", FileMode.Open))
            {
                settings = (List<Settings>)formatter.Deserialize(stream);
 
                Console.WriteLine("Объект десериализован: ");
                Console.WriteLine("login: {0} -> password: {1} -> port: {2} -> smtp сервер: {3}", settings[0].LoginEmail, settings[0].PasswordEmail, settings[0].SmtpPort, settings[0].SmtpHost);
            }
 
            Console.ReadLine();
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.06.2017, 12:13
Ответы с готовыми решениями:

"_10.binary.binary()" должен объявлять тело, т.к. он не помечен модификатором abstract, extern, или partial
Подскажите, что это за ошибка: &quot;_10.binary.binary()&quot; должен объявлять тело, т.к. он не помечен модификатором abstract, extern, или...

Как удалить элемент из коллекции, во время перебора этой коллекции foreach?
Прив. Смотрите что. Есть сервер, на нем 2 класса - Server &amp; ClientConnection. При подключении нового клиента в Server создается новый...

Сделать сортировку коллекции вместо создания новой коллекции с передачей IOrderedEnumerable<T>
Есть: SortableObservableCollection&lt;T&gt; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using...

4
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
06.06.2017, 12:52
Лучший ответ Сообщение было отмечено kristofeer как решение

Решение

kristofeer,
Не то сериализуете.
Нужно сериализовать не options, а settings:
C#
45
formatter.Serialize(stream, settings);
1
5 / 5 / 2
Регистрация: 25.11.2016
Сообщений: 71
06.06.2017, 13:17  [ТС]
Даценд, спасибо большое, я слепень
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
06.06.2017, 17:11
kristofeer, настройки ваяете? А чем app.config не угодил?
Создайте в нем свою секцию и читайте-пишите оттуда/туда сколько угодно.
1
5 / 5 / 2
Регистрация: 25.11.2016
Сообщений: 71
07.06.2017, 10:18  [ТС]
insite2012, у меня опыта в c# 4 недели
app.config - даже не знаю что это такое, почитаю спасибо большое
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.06.2017, 10:18
Помогаю со студенческими работами здесь

Event and Serializable
Ребята, помогите идеей или может кусочками кода. В общем написал программку где где есть у меня несколько столов за которыми идет своя...

IXmlSerializable и [Serializable]
Попался класс, который реализует и IXmlSerializable, и плюс к тому есть (зачем-то) атрибут . Вопрос: какой именно механизм сериализации...

Доступ из элемента коллекции к другим элементам коллекции
Подскажите как получить данные из другого элемента коллекции? В приведенном примере необходимо реализовать метод который бы брал значение...

Кастомный атрибут Serializable
Есть кастомный атрибут MySerialize --&gt; его вешаю на определенный класс --&gt; сериализация успешно проходит через BinaryFormatter по правилам...

Анонимные коллекции в другие коллекции, как?
Здравствуйте. Говорю сразу, я не уверен что есть такой термин как анонимная коллекция. Наверно будет правильно сказать анонимная...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru