Javatpoint Logo
Javatpoint Logo

Decimal.GetHashCode Method in C#

In this article, you will learn about the Decimal.GetHashCode method in C# with its syntax, examples, and applications.

What is the Decimal.GetHashCode method?

The Decimal.GetHashCode Method provide a way to obtain a hash code for a decimal value. Hash codes are essential in various programming scenarios, including data storage, comparisons, and hash-based collections like dictionaries and hash sets. Decimal.GetHashCode method, exploring its purpose, usage, and implications within the broader context of C# programming.

The GetHashCode method is a part of the System. The object class in C# is the base class for all types. The primary purpose of this method is to generate a hash code for an object based on its contents. When you call this method on a decimal value, it returns a 32-bit signed integer hash code representing that Decimal. The hash code is derived based on the internal representation of the decimal value.

A hash code is a numeric value that represents the contents of an object. It is commonly used when quick and efficient equality checks are required, such as storing objects in hash-based collections or performing comparisons. The hash code should ideally be unique for different objects and the same for objects considered equal.


It has the following syntax:

The return type of the GetHashCode method is int. The returned value is the hash code calculated for the decimal value. This method does not take any parameters.


Let us take a simple C# program to demonstrate the Decimal.GetHashCode Method.


Decimal.GetHashCode Method in C#


The C# program initializes a decimal variable dec1 with the value 222024.78549M, representing a decimal with a fractional part. Subsequently, it calls the GetHashCode method on dec1 to obtain its hash code, storing the result in an integer variable named result. After that, the program displays the calculated hash code for the decimal value on the console using Console.WriteLine. The GetHashCode method, inherited from the base Object class, returns an integer representing the hash code of the Decimal, facilitating efficient operations like hashing-based collections or equality checks.

Example 2:

Let us take another C# program to illustrate the Decimal.GetHashCode method.


Decimal.GetHashCode Method in C#


The C# program defines a ShoppingCartItem class representing items in a shopping cart with properties for the item name and price. The class overrides the GetHashCode method to calculate the hash code based on the item's price using Decimal.GetHashCode for simplicity.

In the Main method, three shopping cart items are created, each with a unique name and price. After that, the program displays information about each item, including the calculated hash code. The CheckEquality method compares hash codes to determine whether items are considered equal based on price. The DisplayItemInfo method outputs details about each item, including its name, price, and hash code. The hash codes serve for efficient equality checks and demonstrate equality or inequality between items with the same or different prices.

Uses and Applications of the Decimal.GetHashCode method:

Some main uses and applications of the Decimal.GetHashCode method are as follows:

Hash-Based Collections:

Example: Managing a collection of financial transactions with decimal amounts.

Use: Utilize GetHashCode to efficiently store and retrieve transactions in a Dictionary<decimal, Transaction> based on their amounts.

Equality Comparisons:

Example: Identifying products with the same price in a list of various products.

Use: Employ GetHashCode for faster equality checks, ensuring products with identical prices share the same hash code.

Caching and Memoization:

Example: Performing complex calculations based on decimal inputs.

Use: Leverage GetHashCode to generate hash codes for input values, facilitating caching and avoiding redundant computations.

Comparisons in LINQ Queries:

Example: Filtering or grouping data in LINQ queries based on decimal values.

Use: Incorporate GetHashCode in LINQ queries for efficient comparisons and grouping, enhancing performance.

Youtube For Videos Join Our Youtube Channel: Join Now


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA