Подключение двух компьютеров через Интернет, в основном, должно быть таким же, как подключение их в локальной сети. Ваши проблемы будут в основном с брандмауэром. В вашем коде C # вам нужно будет назначить IP-адрес и порт для обоих компьютеров. Вы должны убедиться, что ваш брандмауэр пропустит этот порт без блокировки (остерегайтесь уязвимостей безопасности при открытии новых портов).
Если на ваших компьютерах нет общедоступных IP-адресов, вам также придется настроить NAT на маршрутизаторе. Это сопоставит порт на вашем маршрутизаторе + ваш публичный IP-адрес с IP-адресом вашего локального компьютера + порт. Затем другой компьютер настроит этот публичный IP-адрес + порт в своей конфигурации. Слишком много настраиваемых вещей, которые могут испортить список в одном посте. Я бы предложил изучить некоторые основы работы в сети.
Однако, сказав все это в терминах кода C #, вам не нужно ничего менять, чтобы программа работала через Интернет, если она работает через локальную сеть.