質問

IP [0]の配列に保存されているIPアドレスをリモートエンドポイントと比較する方法は?助けてください。

役に立ちましたか?

解決

このような何かが機能するはずです...

var ips = new[] { IPAddress.Parse( "127.0.0.1"),
                   IPAddress.Parse( "192.168.1.1"),
                   IPAddress.Parse( "10.0.0.1" ) };

var ep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 0);

if (ips[0].Equals(ep.Address))
{
    Console.WriteLine("Equal!");
}

他のヒント

あなたがIPアドレスを取得したと仮定しています

System.Net.EndPoint ep = client.Client.RemoteEndPoint;
System.Net.IPEndPoint ip = (System.Net.IPEndPoint)ep;

その場合は、単に比較することができます

System.Net.IPEndPoint ip = (System.Net.IPEndPoint)ep;
ip.ToString();
if(Ip[0] == ip.toString());

上記のバリアントはすべて機能しますが、ここに記載されていない別のオプションがあります。 IpAddress GetAddressBytesメソッドを使用して、アドレスをバイトとして取得し、比較します。これは、他の処理を行う必要がある場合(IPがIPクラスなどにあるかどうかを判断する場合など)に役立ちます。

これらを取得するには、ToString()を使用してから比較します。または、IPV4 ipが持つ4つの数字を繰り返して比較することができます。

構造体の各メンバーを単純に比較します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top