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

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











Guide to Active Directory with C#. Here we discuss the introduction and how Active Directory works in C# along with the syntax and example.

Guide to Random Number Generator in C#. Here we discuss how Random Number Generator work, concept of pseudo-random and secure numbers.

Guide to C# Data Grid View. Here we discuss the examples of how a data grid view can be loaded and exported from the SQL database or an excel file.

Guide to Factorial in C#. Here we discuss the introduction to factorial in c# along with different examples and code implementation.

The difference between multithreading and asynchronous is that multithreading executes multiple threads at the same time, while asynchronously performs operations without blocking the current thread. Multithreading is used for compute-intensive tasks, while asynchronously is used for user interaction. The advantage of multi-threading is to improve computing performance, while the advantage of asynchronous is to not block UI threads. Choosing multithreading or asynchronous depends on the nature of the task: Computation-intensive tasks use multithreading, tasks that interact with external resources and need to keep UI responsiveness use asynchronous.

Guide to Patterns in C#. Here we discuss the introduction and top 3 types of Patterns in C# along with its examples and code implementation.

Guide to Prime Numbers in C#. Here we discuss the introduction and examples of prime numbers in c# along with code implementation.

The history and evolution of C# and C are unique, and the future prospects are also different. 1.C was invented by BjarneStroustrup in 1983 to introduce object-oriented programming into the C language. Its evolution process includes multiple standardizations, such as C 11 introducing auto keywords and lambda expressions, C 20 introducing concepts and coroutines, and will focus on performance and system-level programming in the future. 2.C# was released by Microsoft in 2000. Combining the advantages of C and Java, its evolution focuses on simplicity and productivity. For example, C#2.0 introduced generics and C#5.0 introduced asynchronous programming, which will focus on developers' productivity and cloud computing in the future.
