¿A qué IP te refieres? ¿A la local o a la externa? En fin... empiezo:
Por lo general, hoy en día un ordenador tiene varias interfaces de red: Modem, Ethernet, WiFi y el Loopback (él mismo, 127.0.0.1). Cada una de ellas puede tener su propia dirección IP sin tener que ver nada con las otras.
Bien, usando los namespaces System.Net y System.Net.NetworkInformation podemos determinar la IP de cada una de ellas de la siguiente manera:
//Leemos todas las interfaces de red de nuestra máquina
NetworkInterface[] ni = NetworkInterface.GetAllNetworkInterfaces();
//Después, las recorremos y las tratamos.
foreach(NetworkInterface n in ni)
MessageBox.Show(n.GetIPProperties().UnicastAddresses[0].Address.ToString());
En UnicastAddress leemos la primera porque supongo que no usarás Multicast, (en ese caso, también tienes ese miembro para usar en la clase).
Con ese código, se te devuelve las IPs que tiene tu máquina en un msgbox. Aunque no tengas nada conectado o funcional, siempre te devolverá 127.0.0.1 (es la que devuelve siempre en último lugar).
Espero haberte sido de ayuda.