Как занести все матрицы в List

Мне нужно реализовать чтение/запись 5ти матриц в bin-файл,каждая матрица должна иметь свой индекс. Создаю матрицы отак

     Console.Write("Матриця на NxN = ");
     int n = int.Parse(Console.ReadLine());
     Matrix A = new Matrix(n, n);
     Matrix B = new Matrix(n, n);
     Matrix Q = new Matrix(n, n);
     Matrix W = new Matrix(n, n);
     Matrix E = new Matrix(n, n);

    public class Saver
{
    /// <summary>Закрытый конструктор - его можно вызвать только в самом классе.</summary>
    private Saver() { }
    /// <summary>Единственный доступный экземпляр.</summary>
    public static Saver Instance { get; } = new Saver();

    /// <summary>Бинарный сериализатор.</summary>
    private static BinaryFormatter formatter = new BinaryFormatter();

    /// <summary>Статический список со всеми матрицами.</summary>
    private static readonly List<int[,]> matrices = new List<int[,]>();

    /// <summary>Свойство экземпляра возвращающее все матрицы.<br/>
    /// Можно использовать с индексатором.</summary>
    public List<int[,]> Matrices => matrices;

    /// <summary>Приватный статический метод бинарной сериализации списка матриц.</summary>
    /// <param name="matrResult">Файл в который будет происходить сериализация.</param>
    private static void SaveToBin(string matrResult)
    {
        using (FileStream file = File.Create(matrResult))
            formatter.Serialize(file, matrices);
    }

    /// <summary>Приватный статический метод бинарной десериализации списка матриц.</summary>
    /// <param name="matrResult">Файл из которого будет происходить десериализация.</param>
    private static void LoadFromBin(string matrResult)
    {

        using (FileStream file = File.OpenRead(matrResult))
        {
            IEnumerable<int[,]> list = (IEnumerable<int[,]>)formatter.Deserialize(file);
            matrices.Clear();
            foreach (int[,] matrix in list)
                matrices.Add(matrix);
        }
    }

    public string matrResult { get; set; }

    public void Load() => LoadFromBin(matrResult);
    public void Save() => SaveToBin(matrResult);



}

класс Saver, в котором будет реализовано сохранение всех необходимых рабочих матриц, а также их чтения по определенному номеру. Класс должен быть реализован с соблюдением паттерна программирования "Одиночка" Как занести все матрицы в List


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