private static byte[] RemovePacketFromPackage(byte[] Package, Addresses.Enums.IncomingPacketTypes PacketType) { try { int packetLength = 0, packagePos = 0; List<byte> newPacket = new List<byte>(); while (packagePos < Package.Length) { packetLength = BitConverter.ToInt16(Package, packagePos); if (Package[packagePos + 2] != (byte)PacketType) { for (int i = 0; i < packetLength + 2; i++) { newPacket.Add(Package[packagePos + i]); } } packagePos += packetLength + 2; } return newPacket.ToArray(); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); return null; } }