Leer puerto serial en C#

Buenos días, quisiera solicitar ayuda por este medio. Necesito hacer una aplicación en visual studio que lea los datos que se están escribiendo en el serial.

En la programación del Arduino he puesto instrucciones como Serial.write('a'), sin embargo al ingresar al monitor serial siempre despliega 'a-1', no sé a qué se deba eso, y al intentar leer el puerto serial desde visual estudio a veces sale 'a' a veces sale '-1' a veces no sale nada. Entonces cuál sería un código correcto, primero para eliminar ese -1 que siempre sale luego de la letra que quiero escribir, y segundo, para leer esa letra en visual studio, pues estoy usando ".ReadLine()" pero no funciona de la forma en que espero. Gracias de antemano.

P.D. Estoy empezando en esto xD,

Lo siguiente es el código en el Arduino:

void setup() {
Serial.begin(9600);
pinMode(2, INPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
pinMode(3,INPUT);
}

void loop() {

if ((digitalRead(2)==HIGH) && (digitalRead(3)==LOW)){Serial.flush();Serial.write('a');}
if (digitalRead(3)==HIGH && digitalRead(2)==LOW){Serial.flush();Serial.write('s');}
if(digitalRead(2)==1)digitalWrite(11,HIGH);
if(digitalRead(2)==0)digitalWrite(11,LOW);

if(digitalRead(3)==1)digitalWrite(12,HIGH);
if(digitalRead(3)==0)digitalWrite(12,LOW);
Serial.println(Serial.read());
delay(10);

}