IPAddress.TryParse返回false

Yak*_*kov 3 c# ip-address tryparse

我有一个IP地址的字符串

clientId = "172.19.200.29:10308"
Run Code Online (Sandbox Code Playgroud)

我需要从中生成IPAddress对象.请执行以下操作

    IPAddress clientIpAddr;
    if (IPAddress.TryParse(clientId, out clientIpAddr)) //<-returns false
//clientIpAddr is null
Run Code Online (Sandbox Code Playgroud)

可能有什么不对

Bob*_*ale 6

它不是IP地址,而是IP地址和端口

尝试

if (IPAddress.TryParse(clientId.Split(':')[0], out clientIpAddr))
Run Code Online (Sandbox Code Playgroud)

如果您需要IPv6支持

 var arr = clientId.Split(':');
 clientId = arr.Length <= 2 ? arr[0] : string.Join(":", arr.Take(8).ToArray());
 if (IPAddress.TryParse(clientId, out clientIpAddr))
Run Code Online (Sandbox Code Playgroud)