/// <summary>
        /// 向列表中添加所选圣遗物的属性
        /// </summary>
        /// <param name="it">被选中的圣遗物tag</param>
        private void AddItem(SummariedItem it)
        {
            // 遍历整个列表,若tag和已存在的tag重复,则进行下面的操作。
            //      若tag的对应值和所重复的tag的对应值类型一致,则进行下面的操作。
            //          将这两个对应值相加,输出为新的tag对应值。
            // 否则直接输出tag及其对应值。
            summariedItems.Add(it);
            var          splited  = Translate(it.tag, it.tagValue, 4).Split('*');
            ListViewItem TempItem = new ListViewItem(new string[] { splited[0], splited[1], "" });
            var          flag     = false;

            for (int i = 0; i < ResultList.Items.Count; i++)
            {
                var item = ResultList.Items[i];
                TempItem = new ListViewItem(new string[] { splited[0], splited[1], Translate(ResultList.Items[i].SubItems[0].Text, ResultList.Items[i].SubItems[1].Text) });
                if (item.Text == TempItem.Text)
                {
                    if (item.SubItems[1].Text.Contains("%") == TempItem.SubItems[1].Text.Contains("%"))
                    {
                        var NewValue =
                            Convert.ToDouble(item.SubItems[1].Text.TrimEnd('%').TrimEnd(' '))
                            + Convert.ToDouble(TempItem.SubItems[1].Text.TrimEnd('%').TrimEnd(' '));
                        item.SubItems[1].Text = NewValue.ToString();
                        if (TempItem.SubItems[1].Text.Contains("%"))
                        {
                            item.SubItems[1].Text += "%";
                        }
                        flag = true;
                    }
                    else
                    {
                        flag = false;
                    }
                }
                else
                {
                    flag = false;
                }
                if (flag)
                {
                    break;
                }
            }
            if (!flag)
            {
                ResultList.Items.Add(TempItem);
            }
        }
        /// <summary>
        /// 将选定的五个圣遗物进行汇总
        /// </summary>
        private void Summary()
        {
            bool[] chk = new bool[ResultList.Items.Count];

            for (int k = 0; k < ResultList.Items.Count; k++)
            {
                chk[k] = ResultList.Items[k].Checked;
            }
            ResultList.Items.Clear();
            {
                SummariedItem item = new SummariedItem();
                for (int i = 0; i < 5; i++)
                {
                    if (SelectedArtifacts[i].ArtifactName != null)
                    {
                        if (MainTagConsidered)
                        {
                            item.tag      = SelectedArtifacts[i].Maintag;
                            item.tagValue = SelectedArtifacts[i].MaintagValue;
                            AddItem(item);
                        }
                        for (int t = 0; t < SelectedArtifacts[i].Subtag.Length; t++)
                        {
                            item.tag      = SelectedArtifacts[i].Subtag[t];
                            item.tagValue = SelectedArtifacts[i].SubtagValue[t];
                            AddItem(item);
                        }
                    }
                }
            }
            int chklength = chk.Length < ResultList.Items.Count ? chk.Length : ResultList.Items.Count;

            for (int k = 0; k < chklength; k++)
            {
                if (chk.Length < 1)
                {
                    ResultList.Items[k].Checked = false;
                }
                else
                {
                    ResultList.Items[k].Checked = chk[k];
                }
            }
            EntriesCalc();
        }