How do i save multiple objects with this script?

using System.Collections.Generic;
using UnityEngine;
using System.Runtime.Serialization.Formatters.Binary;
using UnityEngine.SceneManagement;
using System.IO;

public class SaveSystem : MonoBehaviour
{
[SerializeField] Block blockPrefab;

public static List<Block> blocks = new List<Block>();

const string BLOCK_SUB = "/block";
const string BLOCK_COUNT_SUB = "/block.count";

private void Awake()
{
    LoadBlock();
}

private void OnApplicationQuit()
{
    SaveBlock();
}

void SaveBlock()
{
    BinaryFormatter formatter = new BinaryFormatter();
    string path = Application.persistentDataPath + BLOCK_SUB + SceneManager.GetActiveScene().buildIndex;
    string countPath = Application.persistentDataPath + BLOCK_COUNT_SUB + SceneManager.GetActiveScene().buildIndex;

    FileStream countStream = new FileStream(countPath, FileMode.Create);

    formatter.Serialize(countStream, blocks.Count);
    countStream.Close();

    for (int i = 0; i < blocks.Count; i++)
    {
        FileStream stream = new FileStream(path + i, FileMode.Create);
        BlockData data = new BlockData(blocks*);*

formatter.Serialize(stream, data);
stream.Close();
}
}
void LoadBlock()
{
BinaryFormatter formatter = new BinaryFormatter();
string path = Application.persistentDataPath + BLOCK_SUB + SceneManager.GetActiveScene().buildIndex;
string countPath = Application.persistentDataPath + BLOCK_COUNT_SUB + SceneManager.GetActiveScene().buildIndex;
int blockCount = 0;
if (File.Exists(countPath))
{
FileStream countStream = new FileStream(countPath, FileMode.Open);
blockCount = (int)formatter.Deserialize(countStream);
countStream.Close();
}
else
{
Debug.LogError("Path not Found in " + countPath);
}
for (int i = 0; i < blockCount; i++)
{
if (File.Exists(path + i))
{
FileStream stream = new FileStream(path + i, FileMode.Open);
BlockData data = formatter.Deserialize(stream) as BlockData;
stream.Close();
//Loading position
Vector3 position = new Vector3(data.position[0], data.position[1], data.position[2]);
//Creating the block
Block block = Instantiate(blockPrefab, position, Quaternion.identity);
//Load these stats
block.slowingPercentage = data.slowingPercentage;
}
else
{
Debug.LogError("Path not Found in " + path + i);
}
}
}
}
I appreciate any help!

Are you asking how to save a list? (List = List of objects)