C#: Assigning an instance

When we create an instance, some also called it instantiate an object, we can assign the instance to another instance.

For example, we create an instance using new operator:

Friend friend = new Friend();

We can assign the friend instance to a different instance name call pal.

using System;

namespace Hello
{
    class Friend
    {
        private string name;
        private string major;

        private Friend()
        {
            name = "John";
            major = "Biology";
        }

        static void Main()
        {
            Friend friend = new Friend();

            Console.WriteLine(friend.name);
            Console.WriteLine(friend.major);
            Console.WriteLine();  //This adds an empty new line

            Friend pal = friend;

            Console.WriteLine("How about pal?");
            Console.WriteLine(pal.name);
            Console.WriteLine(pal.major);

            Console.ReadLine();
        }
    }
}

The line

Friend pal = friend

copies the value of friend to pal.

As a result, pal is now referencing the same Friend object as friend.

On the other hand, the following code creates two different Friend objects:

Friend friend = new Friend();
Friend pal = new Friend();

pal

Series Navigation<< C#: Constructor
C#: Designing a class >>