How to check if a string is IPv4 or IPv6 or invalid in C#

1 Answer

0 votes
using System;
using System.Net;
using System.Net.Sockets;

class Program
{
    static string CheckIpAddress(string s) {
        if (IPAddress.TryParse(s, out IPAddress ip)) {
            return ip.AddressFamily switch
            {
                AddressFamily.InterNetwork => "IPv4",
                AddressFamily.InterNetworkV6 => "IPv6",
                _ => "Invalid"
            };
        }

        return "Invalid";
    }

    static void Main()
    {
        Console.WriteLine(CheckIpAddress("112.128.1.2"));
        Console.WriteLine(CheckIpAddress("2001:0dc7:85b2:0000:0000:6d3e:0380:8651"));
        Console.WriteLine(CheckIpAddress("999.999.999.999"));
        Console.WriteLine(CheckIpAddress("abc"));
    }
}



/*
run:

IPv4
IPv6
Invalid
Invalid

*/

 



answered Jan 19 by avibootz

Related questions

...