The MemberwiseClone() creates a new instance of the class being copied, and also copies scalar fields into the corresponding members of the copy. It provides a better starting point for deep copying than just a plain new, because you need to "fix" only the items requiring deep copying.