Export (0) Print
Expand All
15 out of 33 rated this helpful - Rate this topic

How to: Write a Copy Constructor (C# Programming Guide)

Unlike some languages, C# does not provide a copy constructor. If you create a new object and want to copy the values from an existing object, you have to write the appropriate method yourself.


In this example, the Person class contains a constructor that takes as the argument another object of type Person. The contents of the fields in this object are then assigned to the fields in the new object.

class Person
    private string name;
    private int age;

    // Copy constructor.
    public Person(Person previousPerson)
        name = previousPerson.name;
        age = previousPerson.age;

    // Instance constructor.
    public Person(string name, int age)
        this.name = name;
        this.age = age;

    // Get accessor.
    public string Details
            return name + " is " + age.ToString();

class TestPerson
    static void Main()
        // Create a new person object.
        Person person1 = new Person("George", 40);

        // Create another new object, copying person1.
        Person person2 = new Person(person1);


George is 40

See Also

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

© 2014 Microsoft. All rights reserved.