예제 #1
0
        /// <summary>
        /// 判斷某個 IP 位址是否符合指定的樣式。
        /// </summary>
        /// <param name="ip">IP 位址</param>
        /// <returns></returns>
        public bool IsMatch(string ip)
        {
            // 先檢查是否為合法的 IP 位址。
            if (!IPAddressPattern.IsValidIPAddress(ip))
            {
                throw new ArgumentException(ip + " 不是合法的 IP 位址!");
            }

            IPAddressPattern ipaddr = IPAddressPattern.Parse(ip);

            for (int i = 0; i < 4; i++)
            {
                if (this[i] != "*" && Convert.ToInt32(this[i]) != Convert.ToInt32(ipaddr[i]))
                {
                    return(false);
                }
            }
            return(true);
        }
예제 #2
0
        public override bool Equals(object obj)
        {
            IPAddressPattern ipap = (IPAddressPattern)obj;

            if (this == obj)
            {
                return(true);
            }

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

            for (int i = 0; i < 4; i++)
            {
                if (!this[i].Equals(ipap[i]))
                {
                    return(false);
                }
            }

            return(true);
        }