Dictionary<int, byte[]> binaryParts = new Dictionary<int, byte[]>();
…
// now combine the binary from all the parts by first sorting by key
var flattenedList = binaryParts.OrderBy(p => p.Key).SelectMany(p => p.Value);
byte[] combinedBytes = flattenedList.ToArray();