public object Clone() { People clonePeople = new People(); Person currentPerson, clonePerson; foreach (DictionaryEntry p in Dictionary) { currentPerson = p.Value as Person; clonePerson = new Person(); clonePerson.Name = currentPerson.Name; clonePerson.Age = currentPerson.Age; clonePeople.Add(clonePerson);//深度复刻 } return(clonePeople); }
public Person[] GetOldest() { Person oldestPerson = null; Person currentPerson; People oldestPeople = new People(); foreach (DictionaryEntry p in Dictionary) { currentPerson = p.Value as Person; if (oldestPerson == null) { oldestPerson = currentPerson; } else { if (currentPerson > oldestPerson) { oldestPerson = currentPerson; } } } foreach (DictionaryEntry p in Dictionary) { currentPerson = p.Value as Person; if (oldestPerson == currentPerson) { oldestPeople.Add(currentPerson); } } Person[] oldestpeopleArray = new Person[oldestPeople.Count]; int copyIndex = 0; foreach (DictionaryEntry p in oldestPeople) { oldestpeopleArray[copyIndex] = p.Value as Person; copyIndex++; } return(oldestpeopleArray); }