IPAddress::Parse Method (String^)
Converts an IP address string to an IPAddress instance.
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.dll> using namespace System; using namespace System::Net; // 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. 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: \"{0}\" produces this address (shown in its standard notation): {1}", ipAddress, address ); } catch ( ArgumentNullException^ e ) { Console::WriteLine( "ArgumentNullException caught!!!" ); Console::WriteLine( "Source : {0}", e->Source ); Console::WriteLine( "Message : {0}", e->Message ); } catch ( FormatException^ e ) { Console::WriteLine( "FormatException caught!!!" ); Console::WriteLine( "Source : {0}", e->Source ); Console::WriteLine( "Message : {0}", e->Message ); } catch ( Exception^ e ) { Console::WriteLine( "Exception caught!!!" ); Console::WriteLine( "Source : {0}", e->Source ); Console::WriteLine( "Message : {0}", e->Message ); } } int main() { array<String^>^args = Environment::GetCommandLineArgs(); String^ IPaddress; if ( args->Length == 1 ) { 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 0; } else IPaddress = args[ 1 ]; // Get the list of the IPv6 addresses associated with the requested host. parse( IPaddress ); }
Available since 10
.NET Framework
Available since 1.1
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.1