Blog

Copy Constructor in .NET

By Vijay Prativadi Blogs | .NET 4.5 Nov 05, 2012
Today, in this article let's play around with one of the interesting and most useful concept in .NET.

Introduction

 

Today, in this article let's play around with one of the interesting and most useful concept in .NET.

 

Question: What is copy constructor?

 

In simple terms "It enables to copy the values into new object from existing object".

Step 1: Create a new WebForm project

New-project-in-VS.jpg

Step 2: The complete code of Arithmetic.cs looks like this:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

namespace Copy_ConstructorApp

{

    public class Arithmetic

    {

        public double a; public double b;

        public Arithmetic(Arithmetic arthmetic)

        {

            a = arthmetic.a; b = arthmetic.b;

        }

        public Arithmetic(double a, double b)

        {

            this.a = a; this.b = b;

        }

        public double Add()

        {

            return a + b;

        }

        public double Sub()

        {

            return a - b;

        }

        public double Mul()

        {

            return a * b;

        }

        public double Div()

        {

            return a / b;

        }

    }

}

 

Step 3: The complete code WebForm1.aspx looks like this:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Copy_ConstructorApp.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

    <center>

        <div>

            <table>

                <tr>

                    <td colspan="2">

                        <asp:Label ID="Label1" runat="server" Text="Copy Constructor in .NET" Font-Bold="true"

                            Font-Size="Large" Font-Names="Verdana" ForeColor="Maroon"></asp:Label>

                    </td>

                </tr>

                <tr>

                    <td>

                        <asp:Label ID="Label3" runat="server" Text="Please Enter First Number" Font-Size="Large"

                            Font-Names="Verdana" Font-Italic="true"></asp:Label>

                    </td>

                    <td>

                        <asp:TextBox ID="TextBox1" runat="server" Width="120px"></asp:TextBox>

                    </td>

                </tr>

                <tr>

                    <td>

                        <asp:Label ID="Label2" runat="server" Text="Please Enter Second Number" Font-Size="Large"

                            Font-Names="Verdana" Font-Italic="true"></asp:Label>

                    </td>

                    <td>

                        <asp:TextBox ID="TextBox2" runat="server" Width="120px"></asp:TextBox>

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Button ID="Button1" runat="server" Text="Addition" Font-Names="Verdana" Width="213px"

                            BackColor="Orange" Font-Bold="True" OnClick="Button1_Click" />

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Button ID="Button2" runat="server" Text="Substraction" Font-Names="Verdana"

                            Width="213px" BackColor="Orange" Font-Bold="True" OnClick="Button2_Click" />

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Button ID="Button3" runat="server" Text="Multiplication" Font-Names="Verdana"

                            Width="213px" BackColor="Orange" Font-Bold="True" OnClick="Button3_Click" />

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Button ID="Button4" runat="server" Text="Division" Font-Names="Verdana" Width="213px"

                            BackColor="Orange" Font-Bold="True" OnClick="Button4_Click" />

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Label ID="Label5" runat="server" Font-Bold="true" Font-Names="Verdana" ForeColor="Maroon"></asp:Label>

                    </td>

                </tr>

            </table>

        </div>

    </center>

    </form>

</body>

</html>

 

Step 4: The complete code WebForm1.aspx.cs looks like this:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

namespace Copy_ConstructorApp

{

    public partial class WebForm1 : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

        }

        protected void Button1_Click(object sender, EventArgs e)

        {

            if (string.IsNullOrEmpty(TextBox1.Text) || string.IsNullOrEmpty(TextBox2.Text))

            {

                Label5.Text = "Please Enter Some Values"; Label5.ForeColor = System.Drawing.Color.Red;

            }

            else

            {

                Arithmetic obj_Arithmetic = new Arithmetic(double.Parse(TextBox1.Text), double.Parse(TextBox2.Text));

                Arithmetic obj_CopyArithmetic = new Arithmetic(obj_Arithmetic);

                Label5.Text = "Addition Result is: " + obj_CopyArithmetic.Add();

                Label5.ForeColor = System.Drawing.Color.Green;

                TextBox1.Text = string.Empty; TextBox2.Text = string.Empty;

            }

        }

        protected void Button2_Click(object sender, EventArgs e)

        {

            if (string.IsNullOrEmpty(TextBox1.Text) || string.IsNullOrEmpty(TextBox2.Text))

            {

                Label5.Text = "Please Enter Some Values"; Label5.ForeColor = System.Drawing.Color.Red;

            }

            else

            {

                Arithmetic obj_Arithmetic = new Arithmetic(double.Parse(TextBox1.Text), double.Parse(TextBox2.Text));

                Arithmetic obj_CopyArithmetic = new Arithmetic(obj_Arithmetic);

                Label5.Text = "Substraction Result is: " + obj_CopyArithmetic.Sub();

                Label5.ForeColor = System.Drawing.Color.Green;

                TextBox1.Text = string.Empty; TextBox2.Text = string.Empty;

            }

        }

        protected void Button3_Click(object sender, EventArgs e)

        {

            if (string.IsNullOrEmpty(TextBox1.Text) || string.IsNullOrEmpty(TextBox2.Text))

            {

                Label5.Text = "Please Enter Some Values";

                Label5.ForeColor = System.Drawing.Color.Red;

            }

            else

            {

                Arithmetic obj_Arithmetic = new Arithmetic(double.Parse(TextBox1.Text), double.Parse(TextBox2.Text));

                Arithmetic obj_CopyArithmetic = new Arithmetic(obj_Arithmetic);

                Label5.Text = "Multiplication Result is: " + obj_CopyArithmetic.Mul();

                Label5.ForeColor = System.Drawing.Color.Green;

                TextBox1.Text = string.Empty; TextBox2.Text = string.Empty;

            }

        }

        protected void Button4_Click(object sender, EventArgs e)

        {

            if (string.IsNullOrEmpty(TextBox1.Text) || string.IsNullOrEmpty(TextBox2.Text))

            {

                Label5.Text = "Please Enter Some Values"; Label5.ForeColor = System.Drawing.Color.Red;

            }

            else

            {

                Arithmetic obj_Arithmetic = new Arithmetic(double.Parse(TextBox1.Text), double.Parse(TextBox2.Text));

                Arithmetic obj_CopyArithmetic = new Arithmetic(obj_Arithmetic);

                Label5.Text = "Division Result is: " + obj_CopyArithmetic.Div();

                Label5.ForeColor = System.Drawing.Color.Green;

                TextBox1.Text = string.Empty; TextBox2.Text = string.Empty;

            }

        }

    }

}

Step 5: The output of application looks like this:

Copy-constructor-in-.net.jpg

Step 6: The addition result output of application looks like this:

Copy-constructo-output-in-.net.jpg

COMMENT USING

PREMIUM SPONSORS

Hire Mobile & Web Developer on demand. 100% satisfaction. Try for 1 week or Money Back. Local and remote developers available all over USA.

Latest Blogs