/// <summary>
        /// 获取用户信息(修复了API问题)
        /// </summary>
        /// <param name="u">用户名或者 ID(必需)</param>
        /// <param name="type">指定u是用户名还是id</param>
        /// <param name="mode">模式(可选,-1为默认)</param>
        /// <param name="event_days"></param>
        /// <returns>查找到的用户数组;如果没找到,返回空数组;如果发生异常,返回null</returns>
        public async Task <UserRaw[]> GetUserAsync(string u, UsernameType type = UsernameType.Unspecified, Mode mode = Mode.Unspecified, int event_days = -1)
        {
            if (string.IsNullOrWhiteSpace(u))
            {
                throw new ArgumentNullException(nameof(u));
            }
            int m = (int)mode;

            if (m < -1 || m > 3)
            {
                throw new ArgumentOutOfRangeException(nameof(m));
            }
            if (event_days == 0 || event_days < -1 || event_days > 31)
            {
                throw new ArgumentOutOfRangeException(nameof(event_days));
            }
            List <KeyValuePair <string, string> > list = new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>("k", apiKey),
                new KeyValuePair <string, string>("u", u)
            };

            if (m != -1)
            {
                list.Add(new KeyValuePair <string, string>("m", m.ToString()));
            }
            switch (type)
            {
            case UsernameType.Unspecified:
                break;

            case UsernameType.Username:
                list.Add(new KeyValuePair <string, string>("type", "string"));
                break;

            case UsernameType.User_id:
                if (!long.TryParse(u, out long uid))
                {
                    throw new ArgumentException(u);
                }
                list.Add(new KeyValuePair <string, string>("type", "id"));
                break;

            default:
                throw new ArgumentException(nameof(type));
            }
            if (event_days != -1)
            {
                list.Add(new KeyValuePair <string, string>("event_days", event_days.ToString()));
            }
            string jsonResult;

            jsonResult = await GetHttpAsync($"{protocol}://{site}{paths[InformationType.User]}", list.ToArray());

            if (jsonResult == null)
            {
                return(null);
            }
            var result = JsonConvert.DeserializeObject <IEnumerable <UserRaw> >(jsonResult);

            // 确保返回数据满足指定类型
            if (result.Any())
            {
                switch (type)
                {
                case UsernameType.Username:
                    result = result.TakeWhile(user =>
                                              user.username.ToLower(System.Globalization.CultureInfo.InvariantCulture)
                                              == u.ToLower(System.Globalization.CultureInfo.InvariantCulture)
                                              );
                    break;

                case UsernameType.User_id:
                    result = result.TakeWhile(user => user.user_id == u);
                    break;
                }
            }
            return(result.ToArray());
        }
        private void cbUsernameType_search_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            int choice = cbUsernameType_search.SelectedIndex;

            switch (choice)
            {
                case 0:
                    usernameType = UsernameType.ALL;
                    tbUsername_search.IsEnabled = false;
                    tbUsername_search.Text = "";
                    break;
                case 1:
                    usernameType = UsernameType.MINE;
                    tbUsername_search.IsEnabled = false;
                    tbUsername_search.Text = "";
                    break;
                case 2:
                    usernameType = UsernameType.OTHER;
                    tbUsername_search.IsEnabled = true;
                    tbUsername_search.Text = "";
                    break;
            }
        }
 /// <summary>
 /// 获取用户信息(修复了API问题),可以指定是否允许本地缓存(未实现)
 /// </summary>
 /// <param name="forceUpdate">强制不使用缓存</param>
 /// <param name="u">用户名或者 ID(必需)</param>
 /// <param name="type">指定u是用户名还是id</param>
 /// <param name="mode">模式(可选,-1为默认)</param>
 /// <param name="event_days"></param>
 /// <returns>查找到的用户数组;如果没找到,返回空数组;如果发生异常,返回null</returns>
 public /*async*/ Task <UserRaw[]> GetUserAsync(bool forceUpdate, string u, UsernameType type = UsernameType.Unspecified, Mode mode = Mode.Unspecified, int event_days = -1)
 {
     throw new NotImplementedException();
 }