Updated April 12, 2023
Introduction to C# Object Dispose
To free and reset the resources that are unmanaged like connections to the databases, files, etc., and to perform a cleanup of the memory, we make use of a function called dispose of () function in C#. It must implement the IDisposable interface and must be called by the user explicitly and not by the garbage collector. The cost with respect to performance while using dispose of () method is null because the dispose() method cleans up the memory immediately which optimizes the memory and hence usage of this function to clean the unmanaged resources like files and connections to the databases is very much recommended.
Syntax:
dispose();
Working of dispose() Function
Working of dispose() function is as follows:
- To free and reset the resources that are unmanaged like connections to the databases, files, etc., and to perform a cleanup of the memory, we make use of a function called dispose of () function in C#.
- The dispose() function in C# must implement the IDisposable interface.
- The dispose of () function in C# must be called by the user explicitly and not by the garbage collector.
- The cost with respect to performance while using dispose of () method is null because the dispose of () method cleans up the memory immediately which optimizes the memory and hence usage of this function to clean the unmanaged resources like files and connections to the databases is very much recommended.
Examples of C# Object Dispose
Let us discuss examples of C# Object Dispose.
Example #1
C# program to demonstrate the usage of dispose() function by implementing the IDisposable interface and calling the dispose() function explicitly that displays the appropriate message:
Code:
using System;
using System.IO;
using System;
//a class called demonstratingclass is defined and it implements the IDidposable interface
public class demonstratingclass : IDisposable
{
//the dispose() method is defined to to perform the release of the required resources
public void Dispose()
{
Console.WriteLine("The dispose() function has been called and the resources have been released!");
}
}
//another class called demofordispose is defined
public class demofordispose
{
//main method is called
public static void Main()
{
//an instance of the demonstratingclass is created
var result = new demonstratingclass();
//the dispose() method is called on the instance of the demonstratingclass to release it from the memory
result.Dispose();
}
}
Output:
In the above program, a class called demonstrating class is defined and it implements the IDidposable interface. Then the dispose of () method is defined within the demonstrating class that implements the IDisposable interface to perform the release of the required resources. Then another class called demofordispose is defined within which the main method is called. Within the main method, an instance of the demonstrating class is created. Then the dispose of () function is called on the instance of the demonstrating class to release it from the memory and the appropriate message is displayed.
Example #2
C# program to demonstrate the usage of dispose of () function by implementing the IDisposable interface and calling the dispose of () function explicitly that displays the appropriate message:
Code:
using System;
//a class called demonstratingclass is defined and it implements the IDidposable interface
public class demonstratingclass : IDisposable
{
//the dispose() method is defined to to perform the release of the required resources
public void Dispose()
{
Console.WriteLine( "The resources have been released because the dispose function is called upon them");
}
}
//another class called demofordispose is defined
public class demofordispose
{
//main method is called
public static void Main()
{
//an instance of the demonstratingclass is created
var check = new demonstratingclass();
//the dispose() method is called on the instance of the demonstratingclass to release it from the memory
check.Dispose();
}
}
Output:
In the above program, a class called demonstrating class is defined and it implements the IDidposable interface. Then the dispose of () method is defined within the demonstrating class that implements the IDisposable interface to perform the release of the required resources. Then another class called demofordispose is defined within which the main method is called. Within the main method, an instance of the demonstratingclass is created. Then the dispose of () function is called on the instance of the demonstratingclass to release it from the memory and the appropriate message is displayed.
Example 3
C# program to demonstrate the usage of dispose() function by implementing the IDisposable interface and calling the dispose() function explicitly that displays the appropriate message:
Code:
using System;
//a class called demonstratingclass is defined and it implements the IDidposable interface
public class demonstratingclass : IDisposable
{
//the dispose() method is defined to to perform the release of the required resources
public void Dispose()
{
Console.WriteLine("The dispose() function is releasing the specified resources freeing them from the memory.");
}
}
//another class called demofordispose is defined
public class demofordispose
{
//main method is called
public static void Main()
{
//an instance of the demonstratingclass is created
var check1 = new demonstratingclass();
//the dispose() method is called on the instance of the demonstratingclass to release it from the memory
check1.Dispose();
}
}
Output:
In the above program, a class called demonstrating class is defined and it implements the IDidposable interface. Then the dispose of () method is defined within the demonstrating class that implements the IDisposable interface to perform the release of the required resources. Then another class called demofordispose is defined within which the main method is called. Within the main method, an instance of the demonstrating class is created. Then the dispose() function is called on the instance of the demonstrating class to release it from the memory and the appropriate message is displayed.
Conclusion
In this article, we have learned the concept of dispose of () function in C# through definition, syntax and working of dispose of () function in C# through programming examples and their outputs.
Recommended Articles
This is a guide to C# Object Dispose. Here we also discuss the introduction to C# Object Dispose, Working of dispose() Function along with different examples. You may also have a look at the following articles to learn more –