質問
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つの数字を繰り返して比較することができます。
このクラスを使用してIpAddressを拡張できます:
http:// www。 codeproject.com/Articles/26550/Extending-the-IPAddress-object-to-allow-relative-c
構造体の各メンバーを単純に比較します。
所属していません StackOverflow