C# Przesyłanie tablicy przez tcp

Witam. Napisałem sobie prosty komunikator tcp w C#. Pytanie brzmi: Jak za pomocą protokołu tcp przesłać tablicę stringów/intów ewentualnie obiektów jakiejś klasy.

Serializacja?

BitConverter + Encoding(np. UTF8 czy UTF16) lub BinaryFormatter i własny format pakietu(najprostszy - typ danych(byte), ilość danych(int/uint), dane(byte * sizeof(typ danych) * ilość danych)).