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

Правильная ли сериализация и добавление не одного, а несколько человек с 3 параметрами

17.02.2023, 20:05. Показов 353. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Подозрительно безошибочную и рабочую программу удалось сделать, у меня получилось сделать правильную сериализацию?
И что лучше добавить в программу, чтобы сохранялся не один человек, а список работников с 3 параметрами? Лист, массив или что бы вы посоветовали бы?

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
using static System.Console;
using System.Text;
 
 
namespace Program.cs
{
    [Serializable]
    class Human
    {
        public string _name;
        public string _lName;
        public string _gender;
 
        public Human(string name, string lName, string gender)
        {
            _name = name;
            _lName = lName;
            _gender = gender;
        }
 
        public override string ToString()
        {
            return ($"Имя: {_name} {_lName}, пол: {_gender}");
        }
        public void ExportWord(string path)
        {
            try
            {
                using (FileStream file = new FileStream(path, FileMode.Create))
                {
                    using (StreamWriter sw = new StreamWriter(file))
                    {
                        sw.Write(this.ToString());
                    }
                }
                WriteLine("\nДанные сохранены!");
            }
            catch (Exception ex)
            {
                WriteLine("Добавьте одного человека, прежде чем экспортировать");
            }
        }
        public void WriteFile(string path) 
        {
            using (FileStream file = new FileStream(path, FileMode.Create))
            {
                using (StreamWriter sw = new StreamWriter(file, Encoding.Unicode))
                {
                    WriteLine("Введите данные для записи в файл:");
                    Write("Введите имя: ");
                    string name = ReadLine();
                    sw.WriteLine(name);
                    WriteLine();
                    Write("Введите фамилию: ");
                    string Lname = ReadLine();
                    sw.WriteLine(Lname);
                    WriteLine();
                    Write("Введите пол: ");
                    string Gen = ReadLine();
                    sw.WriteLine(Gen);
                    WriteLine("\nДанные сохранены!");
                }
            }
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
 
            string path = "data.bin";
            Human human = new Human("Tom", "Sadovik", "M");
            for (; ; )
            {
                WriteLine();
                WriteLine("1) Вывести список работников на экран");
                WriteLine("2) Сериализовать");
                WriteLine("3) Добавить работника");
                Write("Введите номер: ");
                int num = int.Parse(ReadLine());
                WriteLine();
 
                switch (num)
                {
                    case 1:
                        using (FileStream fs = new FileStream(path, FileMode.Open))
                        {
                            using (StreamReader sr = new StreamReader(fs, Encoding.Unicode))
                            {
                                WriteLine($"Список работников:\n");
                                WriteLine(sr.ReadToEnd());
                            }
                        }
                        break;
                    case 2:
                        string way = @"F:";
                        Write("Назовите файл: ");
                        string name = ReadLine();
                        human.ExportWord(way + '\\' + name);
                        break;
                    case 3:
                        human.WriteFile(path);
                        break;
                }
            }
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.02.2023, 20:05
Ответы с готовыми решениями:

Сериализация и десериализация. Не могу разобраться с некоторыми с параметрами методов
Всем привет :) На лабораторной по програмированию задали привести примеры класса XmlSerializer. С половиной разобрался, а еще с половиной...

Сериализация JSON, добавление данных в массив
Сериализую данные json result.Data.document = new JSON.Documentes.Document(); result.Data.document.sessionId =...

WCF и сериализация, не могу добавить более одного объекта
Имеется служба и клиент, пытался реализовать сериализацию, но почему то добавляет только один объект, при попытке добавить новый...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.02.2023, 20:05
Помогаю со студенческими работами здесь

Видеочат на несколько человек на С#
Здравствуйте! Подскажите, пожалуйста, есть ли программы с открытым кодом или какие-нибудь примеры, где можно посмотреть пример кода для...

Один человек или несколько
Какие есть способы понять что на сайт зашёл один человек с разных вкладок/браузеров или разные люди?(express, socket.io)

Несколько макро с разными параметрами
Всем привет! Хочу определить в программе #define func(number) { call(number, 0); } #define func(number1, number2) {...

Несколько запросов с параметрами на форме
Добрый день! Если упрощённо. Есть таблица с данными сотрудников ФИО, дата и время прихода на работу, дата и время ухода с работы. ...

Сколько человек не сдало ни одного экзамена?
Из 62 студентов педагогику сдали 54 человек, математику – 49, философию – 50, педагогику и математику – 46, математику и философию – 45,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru