using System.Collections.Generic;
using System.Runtime.Serialization.Formatters.Binary;
public static void Main()
var ListToSend = new List<List<string>>();
List<List<string>> ListToReceive;
ListToSend = SimulateData().ToList();
using (var stream = GetStream(ListToSend))
var formatter = new BinaryFormatter();
ListToReceive = formatter.Deserialize(stream) as List<List<string>>;
Console.WriteLine("Done");
private static void Printer(List<List<string>> data)
Console.WriteLine("Printing");
foreach (var row in data)
foreach (var cell in row)
Console.Write(cell + "\t");
Console.WriteLine("-------------------------------------------------------------------------------");
private static Stream GetStream(object data)
var binFormatter = new BinaryFormatter();
var mStream = new MemoryStream();
binFormatter.Serialize(mStream, data);
private static IEnumerable<List<string>> SimulateData()
Random randomizer = new Random();
for (var i = 0; i < 10; i++)
var row = new List<string>();
for (var j = 0; j < 1000; j++)
row.Add((randomizer.Next(100)).ToString());