Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Parse()

static IPAddress System.Net.IPAddressParser.Parse ( ReadOnlySpan< char > ipSpan,
bool tryParse )
inlinestaticpackage

Definition at line 11 of file IPAddressParser.cs.

12 {
13 long address;
14 if (ipSpan.Contains(':'))
15 {
16 Span<ushort> span = stackalloc ushort[8];
17 span.Clear();
18 if (Ipv6StringToAddress(ipSpan, span, 8, out var scope))
19 {
20 return new IPAddress(span, scope);
21 }
22 }
23 else if (Ipv4StringToAddress(ipSpan, out address))
24 {
25 return new IPAddress(address);
26 }
27 if (tryParse)
28 {
29 return null;
30 }
31 throw new FormatException(System.SR.dns_bad_ip_address, new SocketException(SocketError.InvalidArgument));
32 }
static unsafe bool Ipv4StringToAddress(ReadOnlySpan< char > ipSpan, out long address)
static unsafe bool Ipv6StringToAddress(ReadOnlySpan< char > ipSpan, Span< ushort > numbers, int numbersLength, out uint scope)
static string dns_bad_ip_address
Definition SR.cs:28
Definition SR.cs:7

References System.Span< T >.Clear(), System.SR.dns_bad_ip_address, System.Net.IPAddressParser.Ipv4StringToAddress(), and System.Net.IPAddressParser.Ipv6StringToAddress().

Referenced by System.Net.IPAddress.Parse(), System.Net.IPAddress.Parse(), System.Net.IPAddress.TryParse(), and System.Net.IPAddress.TryParse().