Ejemplo n.º 1
0
 ///// <summary>
 ///// 域名信息
 ///// </summary>
 //public domain() { }
 ///// <summary>
 ///// 域名信息
 ///// </summary>
 ///// <param name="domain">域名</param>
 ///// <param name="host">TCP服务端口信息</param>
 ///// <param name="isFullName">域名是否全名,否则表示泛域名后缀</param>
 //public domain(string domain, host host, bool isFullName = true)
 //{
 //    DomainData = domain.getBytes();
 //    Host = host;
 //    IsFullName = isFullName;
 //}
 /// <summary>
 /// 获取哈希值
 /// </summary>
 /// <returns>哈希值</returns>
 public override int GetHashCode()
 {
     if (hashCode == 0)
     {
         hashCode = Host.GetHashCode() ^ SslHost.GetHashCode() ^ algorithm.hashCode.GetHashCode(DomainData);
         if (IsFullName)
         {
             hashCode ^= 1 << 30;
         }
         if (IsOnlyHost)
         {
             hashCode ^= 1 << 29;
         }
         if (hashCode == 0)
         {
             hashCode = int.MaxValue;
         }
     }
     return(hashCode);
 }