IPAddress.Parse Method
Converts an IP address string to an IPAddress instance.
Namespace: System.Net
Assembly: System (in System.dll)
Parameters
- ipString
- Type: System.String
A string that contains an IP address in dotted-quad notation for IPv4 and in colon-hexadecimal notation for IPv6.
| Exception | Condition |
|---|---|
| ArgumentNullException | ipString is null. |
| FormatException | ipString is not a valid IP address. |
The static Parse method creates an IPAddress instance from an IP address expressed in dotted-quad notation for IPv4 and in colon-hexadecimal notation for IPv6.
The number of parts (each part is separated by a period) in ipString determines how the IP address is constructed. A one part address is stored directly in the network address. A two part address, convenient for specifying a class A address, puts the leading part in the first byte and the trailing part in the right-most three bytes of the network address. A three part address, convenient for specifying a class B address, puts the first part in the first byte, the second part in the second byte, and the final part in the right-most two bytes of the network address. For example:
Number of parts and example ipString | IPv4 address for IPAddress |
|---|---|
1 -- "65536" | 0.0.255.255 |
2 -- "20.2" | 20.0.0.2 |
2 -- "20.65535" | 20.0.255.255 |
3 -- "128.1.2" | 128.1.0.2 |
The following code converts a string that contains an IP address, in dotted-quad notation for IPv4 or in colon-hexadecimal notation for IPv6, into an instance of the IPAddress class. Then it uses the overloaded ToString method to display the address in standard notation.
using System; using System.Net; class ParseAddress { private static void Main(string[] args) { string IPaddress; if (args.Length == 0) { Console.WriteLine("Please enter an IP address."); Console.WriteLine("Usage: >cs_parse any IPv4 or IPv6 address."); Console.WriteLine("Example: >cs_parse 127.0.0.1"); Console.WriteLine("Example: >cs_parse 0:0:0:0:0:0:0:1"); return; } else IPaddress = args[0]; // Get the list of the IPv6 addresses associated with the requested host. parse(IPaddress); } // This method calls the IPAddress.Parse method to check the ipAddress // input string. If the ipAddress argument represents a syntatically correct IPv4 or // IPv6 address, the method displays the Parse output into quad-notation or // colon-hexadecimal notation, respectively. Otherwise, it displays an // error message. private static void parse(string ipAddress) { try { // Create an instance of IPAddress for the specified address string (in // dotted-quad, or colon-hexadecimal notation). IPAddress address = IPAddress.Parse(ipAddress); // Display the address in standard notation. Console.WriteLine("Parsing your input string: " + "\"" + ipAddress + "\"" + " produces this address (shown in its standard notation): "+ address.ToString()); } catch(ArgumentNullException e) { Console.WriteLine("ArgumentNullException caught!!!"); Console.WriteLine("Source : " + e.Source); Console.WriteLine("Message : " + e.Message); } catch(FormatException e) { Console.WriteLine("FormatException caught!!!"); Console.WriteLine("Source : " + e.Source); Console.WriteLine("Message : " + e.Message); } catch(Exception e) { Console.WriteLine("Exception caught!!!"); Console.WriteLine("Source : " + e.Source); Console.WriteLine("Message : " + e.Message); } } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.