Реализация через cериализацию. Файл с расписанием

Не знаю, как правильно задать объекты и какой длины. Не понимаю должны ли иметь массивы групп отсылку на следующие массивы подгрупп (то есть должны ли они быть как-то связанны между собой)

Задача:

а) Для конкретного дня недели, номера группы и подгруппы и ленты выдать какой предмет должен быть по расписанию (если занятия нет, то выдать сообщение об этом)

б) Для заданной группы составить расписание на неделю (должна делать программа вручную либо рандомайзером)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Collections;
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization;

namespace weekSchedule
{ 
        [Serializable()]
        public struct Schedule
        {
            public int group;
            public char SubGroup;
            public string predmet;
            public char day;
            public char lenta;

            public void DisplayInfo()
            {
                Console.Clear();
                Console.WriteLine($"Группа: {group}  " + "\n" +
                                  $"Подгруппа: {SubGroup}" + "\n" +
                                  $"День: {day}" + "\n" +
                                  $"Номер ленты: {lenta}" + "\n" +
                                  $"Предмет: {predmet}");
            }
        }

        class Program
        {
            static void Main(string[] args)
            {
                string filename = "test.dat";
                Schedule[] ScheduleToSave = new Schedule[5];

                /*заполняем данными
                 ....
                
                 */
                BinaryFormatter formatter = new BinaryFormatter();

                FileStream outputStream = File.OpenWrite(filename);
                formatter.Serialize(outputStream, ScheduleToSave);
                outputStream.Close();

                FileStream inputStream = File.OpenRead(filename);
                Schedule[] loadedAddresses = (Schedule[])formatter.Deserialize(inputStream);
                inputStream.Close();
            }
        }
    
}


Ответы (0 шт):