how to distinguish two different arduino using C#

I want to communicate arduino using C#. However I don't want to communicate any arduino. I want to find specific arduino. For example, if I'm using arduino nano and I embed my codes in it, I want to find arduino nano using C#. But I don't know how. Please help.


Like what?

In most of my programs I send a short message from setup() so the PC knows that the Arduino is ready. You could use that to identify your Arduino. For example Serial.println("nano starting");


or transmit every message with a header that gives its identity:

char* command = "qwerty";
char* deviceID = "OMEGA";
char myMessage[64] = "";
snprintf(myMessage, sizeof(myMessage), "{\"device\":\"%s\",\"command\:\"%s\"}", deviceID, command);

and parse your messages accordingly...

The Nano board uses an FT232 chip for the USB. Download the FT_PROG utility from FTDI and use it to flash names onto your Nanos. Then download their C# wrapper for D2XX and use that to open your devices by name and totally circumvent legacy serial. Friends don't let friends languish in COM Port Land when they don't have to.