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 is as follows:
Let us discuss examples of C# Object Dispose.
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.
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.
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.
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.
The above is the detailed content of C# Object Dispose. For more information, please follow other related articles on the PHP Chinese website!