HashAlgorithm.Dispose Method

Definition

Releases all resources used by the current instance of the HashAlgorithm class.

Overloads

Dispose()

Releases all resources used by the current instance of the HashAlgorithm class.

Dispose(Boolean)

Releases the unmanaged resources used by the HashAlgorithm and optionally releases the managed resources.

Dispose()

Source:
HashAlgorithm.cs
Source:
HashAlgorithm.cs
Source:
HashAlgorithm.cs

Releases all resources used by the current instance of the HashAlgorithm class.

C#
public void Dispose();

Implements

Remarks

Call Dispose when you are finished using the HashAlgorithm. The Dispose method leaves the HashAlgorithm in an unusable state. After calling Dispose, you must release all references to the HashAlgorithm so the garbage collector can reclaim the memory that the HashAlgorithm was occupying.

For more information, see Cleaning Up Unmanaged Resources and Implementing a Dispose Method.

Note

Always call Dispose before you release your last reference to the HashAlgorithm. Otherwise, the resources it is using will not be freed until the garbage collector calls the HashAlgorithm object's Finalize method.

Applies to

.NET 9 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

Dispose(Boolean)

Source:
HashAlgorithm.cs
Source:
HashAlgorithm.cs
Source:
HashAlgorithm.cs

Releases the unmanaged resources used by the HashAlgorithm and optionally releases the managed resources.

C#
protected virtual void Dispose(bool disposing);

Parameters

disposing
Boolean

true to release both managed and unmanaged resources; false to release only unmanaged resources.

Remarks

This method is called by the public Dispose() method and the Finalize() method, if it has been overridden. Dispose() invokes this method with the disposing parameter set to true. Finalize invokes this method with disposing set to false.

When the disposing parameter is true, this method releases all resources held by any managed objects that this HashAlgorithm references. This method invokes the Dispose() method of each referenced object.

Notes to Inheritors

Dispose can be called multiple times by other objects. When overriding Dispose(Boolean), be careful not to reference objects that have been previously disposed in an earlier call to Dispose. For more information about how to implement Dispose(Boolean), see Implementing a Dispose Method.

For more information about Dispose and Finalize, see Cleaning Up Unmanaged Resources.

Applies to

.NET 9 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1