"人"可能会引用另一个人.
public class Person
{
    public string Name;
    public Person Friend;
}
Person p1 = new Person();
p1.Name = "John";
Person p2 = new Person();
p2.Name = "Mike";
p1.Friend = p2;
Person[] group = new Person[] { p1, p2 };
XmlSerializer ser = new XmlSerializer(typeof(Person[]));
using (TextWriter tw = new StreamWriter("test.xml"))
    ser.Serialize(tw,group );
//above code generates following xml
<ArrayOfPerson>
  <Person>
    <Name>John</Name>
    <Friend>
      <Name>Mike</Name>
    </Friend>
  </Person>
  <Person>
    <Name>Mike</Name>
  </Person>
</ArrayOfPerson>
在上面的代码中,同一个'Mike'对象存在于两个地方,因为对同一个对象有两个引用.