/// <summary>
        /// 使用二分法和斐波那契查找ip
        /// </summary>
        /// <param name="ipAddr">要查找的ip</param>
        /// <param name="ipRecords">所有的ip</param>
        public static void SearchIpRecord(string ipAddr, IpRecord[] ipRecords, out SearchRecord binary_recorder, out SearchRecord fibonacci_recorder)
        {
            if (!IsStrRegex(ipAddr))
            {
                throw new FormatException();
            }

            Stopwatch sw = Stopwatch.StartNew();

            searchService.Binary_Search(ipRecords, ipAddr.IpAddressToInt(), out binary_recorder);

            sw.Stop();
            binary_recorder.ElapsedMilliseconds = sw.Elapsed.TotalMilliseconds;


            sw.Restart();

            searchService.Fibonacci_Search_Improved(ipRecords, ipAddr.IpAddressToInt(), out fibonacci_recorder);

            sw.Stop();
            fibonacci_recorder.ElapsedMilliseconds = sw.Elapsed.TotalMilliseconds;

            if (binary_recorder.Index != fibonacci_recorder.Index)
            {
                throw new Exception("算法出错, 查找结果不同!");
            }
        }