private decimal 加權平均(ReportStudent student, ItemWeightCollection subjectWeight, ItemWeightCollection domainWeight)
        {
            decimal sum = 0, weight = subjectWeight.GetWeightSum() + domainWeight.GetWeightSum();

            foreach (string scoreItem in subjectWeight.Keys)
            {
                sum += (student.Scores[SubjectToken][scoreItem] * subjectWeight[scoreItem]);
            }

            foreach (string scoreItem in domainWeight.Keys)
            {
                sum += (student.Scores[DomainToken][scoreItem] * domainWeight[scoreItem]);
            }

            if (weight == 0)
            {
                return(0);
            }
            else
            {
                return(Round(sum / weight));
            }
        }