【C#】ループバックアドレスを判定する

C#のプログラムでループバックアドレスの判定が必要になったのでメモ。

ループバックアドレスとは自分自身を意味する特別なIPアドレスです。

一般的にはローカルループバックアドレスとして127.0.0.1の値が使われます。

ループバックアドレスを判定する場合、素直にこの値と比較してもよいのですが、

C#では判定用のメソッドIsLoopback()が用意されているのでこちらを使ってみます。

IsLoopback

引数にはIPAddress型の判定したいIPアドレスを入れます。

戻り値には引数の値がループバックアドレスであればtrue、そうでなければfalseが返ります。

using System.Net;

private void Form1_Load(object sender, EventArgs e)
{
    // 判定するIPアドレス
    List<IPAddress> ipList = new List<IPAddress>();
    ipList.Add(IPAddress.Parse("10.0.0.1"));
    ipList.Add(IPAddress.Parse("127.0.0.1"));
    ipList.Add(IPAddress.Parse("172.16.1.1"));
    ipList.Add(IPAddress.Parse("192.168.100.1"));
    ipList.Add(IPAddress.Parse("255.255.255.255"));

    foreach (IPAddress ip in ipList)
    {
        if (IPAddress.IsLoopback(ip))
        {
            txtLoopback.Text = ip.ToString();
        }
    }
}

実行してみると、127.0.0.1だけがループバックアドレスと判定されているのが分かります。

コメント

タイトルとURLをコピーしました