Salve a tutti,
Ho un problema e non avendo trovato soluzioni con il buon bigG vorrei sottoporlo a tutti voi, sapendo che sarà sicuramente utile a qualcun altro.

Nella mia applicazione ho un stringa. Questa viene convertita in bytes e dovrebbe essere suddivisa in blocchi di 4 bytes ciascuno per essere successivamente elaborata..(ma questa è un'altra storia..).
Il problema è che qualsiasi numero di bytes costituisca la stringa dovrei sempre arrivare ad avere un numero di blocchi che contenga sempre 4 bytes ciascuno, aggiungendo eventualmente bytes uguali a 0 se i bytes da dividere non sono multipli di 4.
Spero di essermi spiegato
Io per ora sto utilizzando questo codice.
codice:
 ArrayList TDPtoSend = new ArrayList();
            //ora con un ciclo 
            for (int i = 0; i <= buffer.Length -1 ; i= i+4)
            {
                //array di 4 byte
                byte[] buff = new byte[4];
                buff[0] = buffer[i];
                //si controlla di non uscire da buffer
                if ((i + 1) < buffer.Length - 1)
                {
                    buff[1] = buffer[i + 1];
                }
                //se no si aggiunge un byte vuoto
                else { buff[1] = 0000; }

                if ((i + 2) < buffer.Length - 1)
                {
                    buff[2] = buffer[i + 1];
                }
                //se no si aggiunge un byte vuoto
                else { buff[2] = 0000; }

                if ((i + 3) < buffer.Length - 1)
                {
                    buff[3] = buffer[i + 1];
                }
                //se no si aggiunge un byte vuoto
                else { buff[3] = 0000; }
                
                //si crea un nuovo oggetto TDP e lo si aggiunge
                TDP New = new TDP(buff);
                TDPtoSend.Add(New);
            }
praticamente questi blocchi sono immagazzinati come un'oggetto creato da me "TDPtosend" e inseriti in un arraylist.
il "buffer" è l'array di bytes che contiene i dati da dividere

Grazie per l'aiuto a tutti!!