System.Net.IPAddress.Equals C# (CSharp) Method

Equals() private method

private Equals ( object comparandObj, bool compareScopeId ) : bool
comparandObj object
compareScopeId bool
return bool
        internal bool Equals(object comparandObj, bool compareScopeId)
        {
            IPAddress comparand = comparandObj as IPAddress;

            if (comparand == null)
            {
                return false;
            }

            // Compare families before address representations
            if (AddressFamily != comparand.AddressFamily)
            {
                return false;
            }
            if (IsIPv6)
            {
                // For IPv6 addresses, we must compare the full 128-bit representation.
                for (int i = 0; i < NumberOfLabels; i++)
                {
                    if (comparand._numbers[i] != _numbers[i])
                    {
                        return false;
                    }
                }

                // The scope IDs must also match
                return comparand.PrivateScopeId == PrivateScopeId || !compareScopeId;
            }
            else
            {
                // For IPv4 addresses, compare the integer representation.
                return comparand.PrivateAddress == PrivateAddress;
            }
        }

Same methods

IPAddress::Equals ( object comparand ) : bool

Usage Example

 public static void ValidateListenIPAddress(IPAddress address)
 {
     if ((address != null) && (((address.Equals(IPAddress.Any) || address.Equals(IPAddress.IPv6Any)) || (address.Equals(IPAddress.IPv6None) || address.Equals(IPAddress.None))) || ((address.Equals(IPAddress.Broadcast) || address.IsIPv6Multicast) || IPAddress.IsLoopback(address))))
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(System.ServiceModel.SR.GetString("PeerListenIPAddressInvalid", new object[] { address }), "address", null));
     }
 }
All Usage Examples Of System.Net.IPAddress::Equals