private List <byte[]> SendPackets(List <float> receivedFloats) { List <byte[]> packetsSentList = new List <byte[]>(); for (int i = 0; ; i += 2) { if (i < receivedFloats.Count - 1) { Array.Copy(BitConverter.GetBytes(receivedFloats[i]), SendPacket, sizeof(float)); Array.Copy(BitConverter.GetBytes(receivedFloats[i + 1]), 0, SendPacket, sizeof(float), sizeof(float)); } else if (i == receivedFloats.Count - 1) { Array.Copy(BitConverter.GetBytes(receivedFloats[i]), SendPacket, sizeof(float)); for (int j = sizeof(float); j < sizeof(float); ++j) { SendPacket[j] = 0; } } else { break; } try { udpCommunicator.Send(SendPacket); byte[] copy = new byte[SendPacket.Length]; SendPacket.CopyTo(copy, 0); packetsSentList.Add(copy); } catch (Exception ex) { MessageBox.Show(ex.Message, "UDP Send Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } return(packetsSentList); }