Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 IP 주소 유효성 검사하는 방법

IP 주소(Internet Protocol Address)는 컴퓨터 네트워크에 연결된 각 장치에 할당되는 고유한 숫자 식별자입니다. C#에서는 System.Net 네임스페이스에 포함된 IPAddress 클래스를 통해 IP 주소를 다룰 수 있습니다.

C#으로 IP 주소 검증하기

C#에서 문자열이 올바른 IP 주소인지 확인하려면 IPAddress.TryParse() 메서드를 사용하는 것이 가장 간편합니다. 아래는 사용자로부터 입력받은 IP 주소의 유효성을 검사하는 전체 예제 코드입니다.

예제 코드

using System;
using System.Net;
using System.Net.Sockets;
using System.Text.RegularExpressions;
namespace IPaddressDemo {
    class Example {
        public static void Main() {
            IPAddress IP;
            Console.WriteLine("Enter the IP Address: ");
            string ipAddr = Console.ReadLine();
            bool flag = IPAddress.TryParse(ipAddr, out IP);
            if (flag)
            Console.WriteLine("{0} is a valid IP address", ipAddr);
            else
            Console.WriteLine("{0} is not a valid IP address", ipAddr);
        }
    }
}

실행 결과

Enter the IP Address: 130.45.78.200
130.45.78.200 is a valid IP address

코드 동작 원리 살펴보기

위 프로그램의 실행 흐름을 단계별로 살펴보겠습니다.

먼저 IPAddress 클래스 타입의 객체 IP를 선언합니다. 그다음 Console.ReadLine()을 통해 사용자로부터 IP 주소를 입력받습니다.

핵심은 IPAddress.TryParse() 메서드입니다. 이 메서드는 입력받은 문자열이 유효한 IP 주소 형식인지 판단하고, 결과를 bool 값으로 반환합니다. 변환에 성공하면 파싱된 IP 주소가 out 매개변수인 IP에 저장됩니다.

검사 결과는 flag 변수에 저장되며, if-else 문을 통해 해당 문자열이 유효한 IP 주소인지 여부를 화면에 출력합니다. 핵심 코드는 다음과 같습니다.

IPAddress IP;
Console.WriteLine("Enter the IP Address: ");
string ipAddr = Console.ReadLine();
bool flag = IPAddress.TryParse(ipAddr, out IP);
if (flag)
Console.WriteLine("{0} is a valid IP address", ipAddr);
else
Console.WriteLine("{0} is not a valid IP address", ipAddr);

정리

TryParse() 메서드를 활용하면 복잡한 정규식 없이도 간단하게 IP 주소의 유효성을 검사할 수 있습니다. 이 방법은 IPv4뿐만 아니라 IPv6 주소까지 지원하므로, 실무에서 네트워크 관련 프로그래밍을 할 때 매우 유용하게 활용될 수 있습니다.