using System.Collections.Generic;
namespace IPAddressPlaying
static void Main(string[] args)
List<String> listStrIPv4 = new List<string>();
List<String> listStrIPv6 = new List<string>();
listStrIPv4.Add("004.015.89.38");
listStrIPv4.Add("192.03.000.1");
listStrIPv6.Add("1998:ffff:ab12:0000:0000:0000:0000:0001");
listStrIPv6.Add("2001:0db8:85a3:0000:0000:8a2e:0370:7334");
ListStrToListIP(listStrIPv4);
ListStrToListIP(listStrIPv6);
Console.WriteLine("Any: " + IPAddress.Any);
Console.WriteLine("IPv6Any: " + IPAddress.IPv6Any);
Console.WriteLine("IPv6None: " + IPAddress.IPv6None);
Console.WriteLine("None: " + IPAddress.None);
Console.WriteLine("Can IPAddress parse IPv6 address '::'? Answer: " + IPAddress.TryParse("::", out address));
Console.WriteLine("Can IPAddress parse IPv6 address ''? Answer: " + IPAddress.TryParse("", out address));
string strIPv6 = "2001:0db8:85a3:0000:0000:8a2e:0370:7334";
IPAddress IPv6 = IPAddress.Parse(strIPv6);
Console.WriteLine(strIPv6 + " is of AddressFamily: " + IPv6.AddressFamily);
Console.WriteLine(strIPv6 + " is of HashCode: " + IPv6.GetHashCode());
Console.WriteLine(strIPv6 + " is this an IPv4 mapped on to IPv6?: " + IPv6.IsIPv4MappedToIPv6);
string strIPv4onIPv6 = "0000:0000:0000:0000:0000:FFFF:12.155.166.101";
IPAddress IPv4onIPv6 = IPAddress.Parse(strIPv4onIPv6);
Console.WriteLine(strIPv4onIPv6 + " is this an IPv4 mapped on to IPv6?: " + IPv4onIPv6.IsIPv4MappedToIPv6);
public static List<IPAddress> ListStrToListIP(List<string> listStrIp)
var listIPIp = new List<IPAddress>();
foreach (string ipAddress in listStrIp)
if (IPAddress.TryParse(ipAddress, out address))
listIPIp.Add(IPAddress.Parse(ipAddress));
for (int i = 0 ; i < listIPIp.Count ; i++)
Console.WriteLine("Element " + i + " of listIPIp = " + listIPIp[i]);