Open In App
Related Articles

Getting the Hash Code of the Specified Range in C#

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report
The Range Structure is introduced in C# 8.0. It represents a range that has a start and end indexes. You are allowed to get the hash code of the specified range with the help of the GetHashCode() Method provided by the Range struct. This method returns the hash code of the specified instance. Syntax:
public override int GetHashCode();
Example 1:
// C# program to illustrate how to find 
// the hash code of the given ranges
// Using GetHashCode() method of Range
// struct
using System;
  
namespace range_example {
  
class GFG {
  
    // Main Method
    static void Main(string[] args)
    {
        // Creating range
        // using Range constructor
        var r1 = new Range(2, 4);
  
        // Creating range
        // using Range operator
        Range r2 = 1..10;
  
        // Creating a range
        // using StartAt() method
        var r3 = Range.StartAt(4);
  
        // Get the hash code of the given ranges
        Console.WriteLine("Hash Code of Range_1: " +r1.GetHashCode());
        Console.WriteLine("Hash Code of Range_2: " + r2.GetHashCode());
        Console.WriteLine("Hash Code of Range_3: " + r3.GetHashCode());
    }
}
}

                    
Output:
Hash Code of Range_1: -1254614029
Hash Code of Range_2: 853498667
Hash Code of Range_3: -1528050329
Example 2:
// C# program to illustrate how to find
// the hash code of the given ranges
// Using GetHashCode() method of Range struct
using System;
   
namespace range_example {
   
class GFG {
   
    // Main Method
    static void Main(string[] args)
    {
        // Creating and initializing an array
        int[] arr = new int[8] {100, 200, 300, 400,
                               500, 600, 700, 800};
   
        // Creating a range
        // using StartAt() method
        var r = Range.StartAt(3);
        var new_arr = arr[r];
   
        // Displaying the range
        // and the elements
        Console.WriteLine("Range: " + r);
        Console.Write("HashCodes: ");
   
        foreach(var i in new_arr)
            Console.Write($" [{i.GetHashCode()}]");
    }
}
}

                    
Output:
Range: 3..^0
HashCodes:  [400] [500] [600] [700] [800]


Last Updated : 28 Nov, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads