OriginalGriff
Это сложно, потому что IP-адреса не так просты, как вы, возможно, думали.
Форма, которую вы показываете, называется IPV4 и состоит из четырех 8-битных значений, разделенных точками. Но ... во-первых, эти 8-битные значения могут быть представлены в десятичном виде, как вы показываете, или в шестнадцатеричном: 0x0A.0x80.0x19.0x24 без каких-либо отличий. Таким образом, ваш код должен учитывать это или любую смесь оснований.
Во-вторых, IPV4-это не единственный формат, который вы можете встретить: есть также IPV6, который очень отличается.
::1 is the IP address for Localhost
2001:4860:4860::8888 is the Google DNS IPV6 address
Хорошей новостью является то, что класс IPAddress имеет метод синтаксического анализа, который будет работать с любым допустимым форматом IP-адреса.
Плохая новость заключается в том, что "10.128.xx.xx" - это не действительный IP-адрес, а формат маски. Это означает, что он не может быть автоматически проанализирован, и вам придется обрабатывать их самостоятельно!
Если вы сталкиваетесь только с IPv4, то используйте Split для разделения числовых значений, проверьте их на наличие маски, а если нет, преобразуйте в целое число.
После этого от вас зависит, что именно должно дать сравнение, особенно со значениями маски