Now in this post, I’ll explain in details about the copy constructor with example.
Copy Constructor in C#
C# does not provide a copy constructor for the objects but as a developer, we can write one by ourselves based on our requirement.
Copy constructor: In C#, A parameterized constructor that takes the same type of object as a parameter is called a copy constructor.
The copy constructor is useful when we want to copy data from the existing object to the new object without affecting the values of the existing object. In simple words, copy constructor means cloning of data from one object to the other object.
Note: To create a copy constructor we must have more than one constructor in a class.
Now in this post, We will learn about the static constructor with examples in C#.
C# Static Constructor
A static constructor is a special kind of constructor that invokes automatically before the first instance of a class is created. It is used to initialize only static data members of the class or to write the code that needs to be executed only once throughout the execution of the program.
The purpose of using a static constructor is to trigger a piece of code automatically without creating an object of a class.
Static Constructor Syntax
In the below sample program, a static constructor is created without any parameter and access modifier.
In C#, Constructors are special types of methods that get executed when an instance of the classor structis created.
The main use of the constructor is to initialize and set the default values for the data members of the new object. It looks very similar to a method, but with no return type and have the same name as the class or struct.
A constructor is invoked when we use the new operator or the reflection (Example: Activator.CreateInstance) to create an object of a class.
If we forget to define the default constructor in a class, the compiler will automatically create one system-defined default constructor for that class.
C# Constructor Syntax
Syntax to create a constructor in C#
In the above example, we have created constructor “User” with the same name as class or struct.
In this article, we will discuss the const, readonly, static, and static readonly keywords in detail.
C# static keyword
In C#, static is a keyword that can be applied to classes, variables, methods, properties, constructorand events.
The static modifier is useful to create a single copy of an object (class or data members) to share common data among all the instances. The static modifier makes a class or data member non-instantiable, that means if we mark a class as static it will not allow us to create an object using the new operator. A class member declared as static can be accessed directly by its class name.
The statickeyword in C# is used to define static members which are common to all the objects and not bound to any specific object.
Static variable memory allocation
In C#, static and constant data exist for the lifetime of the application, therefore they stored in a high frequency heap and can’t be garbage collected. A high frequency heap is a kind of loader heap that exists for each AppDomain where all the static data are stored.