IPAddress.TryParse возвращает bool, а распознанный адрес выдаёт через out-параметр. Результат следует использовать только при true; неверная строка обычно не требует исключения для самого TryParse.
Что возвращает IPAddress.TryParse и как следует обработать его результат?
IPAddress.TryParse возвращает bool, а распознанный адрес выдаёт через out-параметр. Результат следует использовать только при true; неверная строка обычно не требует исключения для самого TryParse.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
IPAddress.TryParse возвращает bool, а распознанный адрес выдаёт через out-параметр. Результат следует использовать только при true; неверная строка обычно не требует исключения для самого TryParse.
if (IPAddress.TryParse(raw, out var address))
{
Console.WriteLine(address.AddressFamily);
}
else
{
Console.WriteLine("Некорректный IP-адрес");
}
Если ваш контракт требует FormatException, выбросьте её явно в ветке false. Метод разбирает адрес, а не проверяет доступность узла или право подключаться к нему. Для строгого формата IPv4, допустимых подсетей и защиты от обращения к запрещённым адресам нужны отдельные правила.
Источник: learn.microsoft.com.