What are destructors in C# programs?

CsharpProgrammingServer Side Programming

A destructor is a special member function of a class that is executed whenever an object of its class goes out of scope.

It has exactly the same name as that of the class with a prefixed tilde (~), for example, our class name is Demo.

public Demo() { // constructor
   Console.WriteLine("Object is being created");
~Demo() { //destructor
   Console.WriteLine("Object is being deleted");

Let us see an example to learn how to work with Destructor in C#.


 Live Demo

using System;

namespace LineApplication {
   class Line {
      private double length; // Length of a line

      public Line() { // constructor
         Console.WriteLine("Object is being created");

      ~Line() { //destructor
         Console.WriteLine("Object is being deleted");

      public void setLength( double len ) {
         length = len;

      public double getLength() {
         return length;

      static void Main(string[] args) {
         Line line = new Line();
         // set line length
         Console.WriteLine("Length of line : {0}", line.getLength());


Object is being created
Length of line : 6
Object is being deleted
Published on 06-Aug-2018 11:51:54