El objeto SerialPort de C# no tiene exactamente las mismas funciones que las que se encuentran en Arduino, pero es posible realizar operaciones similares utilizando los métodos y propiedades disponibles en C#.
Para detectar los primeros bytes de una trama de bytes que llegue desde el puerto serie, puede utilizar el método Read del objeto SerialPort, junto con el método Substring de la clase String para extraer los primeros caracteres. Por ejemplo:
string data = serialPort.ReadExisting();
string firstBytes = data.Substring(0, 3); // extrae los primeros 3 caracteres
Para detectar los últimos bytes, puede utilizar el mismo enfoque, pero en lugar de extraer los primeros caracteres, puede utilizar el método Substring para extraer los últimos caracteres. Alternativamente, puede utilizar el método EndsWith de la clase String para determinar si una cadena termina con un conjunto particular de caracteres. Por ejemplo:
string data = serialPort.ReadExisting();
string lastBytes = data.Substring(data.Length - 3); // extrae los últimos 3 caracteres
bool endsWithXYZ = data.EndsWith("XYZ"); // determina si la cadena termina con "XYZ"
Recuerde que la trama de bytes que reciba desde el puerto serie puede estar fragmentada o llegar en paquetes, por lo que es importante implementar un mecanismo de lectura de bytes que sea capaz de reconstruir la trama completa antes de aplicar las operaciones de detección de primeros y últimos bytes.