示例#1
0
        public Plan(Plan other)
        {
            AssignedTimes = new Dictionary <Subject, Time>(other.AssignedTimes);
            Decisions.AddRange(other.Decisions);

            SelectedSubjects = new List <Subject>(other.SelectedSubjects);
            SelectedCourses  = new List <Course>(other.SelectedCourses);
            foreach (var BannedContent in other.BannedContents)
            {
                BannedContents.Add(BannedContent.Key, new List <Content>(BannedContent.Value));
            }
            EarliestCompletionTimes = new Dictionary <Subject, Time>(other.EarliestCompletionTimes);

            SubjectsWithForcedTimes = new HashSet <Subject>(other.SubjectsWithForcedTimes);
            MaxCreditPoints         = new Dictionary <Time, int>(other.MaxCreditPoints);
            ContentRelations        = new HashSet <Edge>(other.ContentRelations);
        }