TimeSpan.GetHashCode Method
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Returns a hash code for this instance.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Overrides Function GetHashCode As Integer
public override int GetHashCode()
Return Value
Type: System.Int32
A 32-bit signed integer hash code.
Remarks
Two TimeSpan objects might have the same hash code even though they represent different time values.
Examples
The following code example generates the hash codes of several TimeSpan objects using the GetHashCode method.
' Example for the TimeSpan.GetHashCode( ) method.
Module Example
Sub DisplayHashCode(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal interval As TimeSpan)
' Create a hash code and a string representation of
' the TimeSpan parameter.
Dim timeInterval As String = interval.ToString()
Dim hashCode As Integer = interval.GetHashCode()
' Pad the end of the TimeSpan string with spaces if it
' does not contain milliseconds.
Dim pIndex As Integer = timeInterval.IndexOf(":"c)
pIndex = timeInterval.IndexOf("."c, pIndex)
If pIndex < 0 Then timeInterval &= " "
outputBlock.Text &= String.Format("{0,22} 0x{1:X8}, {1}", _
timeInterval, hashCode) & vbCrLf
End Sub
Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
outputBlock.Text &= String.Format( _
"This example of TimeSpan.Example( ) generates " & _
"the following " & vbCrLf & "output, which displays " & _
"the hash codes of representative TimeSpan " & vbCrLf & _
"objects in hexadecimal and decimal formats." & vbCrLf) & vbCrLf
outputBlock.Text &= String.Format("{0,22} {1,10}", _
"TimeSpan ", "Hash Code") & vbCrLf
outputBlock.Text &= String.Format("{0,22} {1,10}", _
"-------- ", "---------") & vbCrLf
DisplayHashCode(outputBlock, New TimeSpan(0))
DisplayHashCode(outputBlock, New TimeSpan(1))
DisplayHashCode(outputBlock, New TimeSpan(0, 0, 0, 0, 1))
DisplayHashCode(outputBlock, New TimeSpan(0, 0, 1))
DisplayHashCode(outputBlock, New TimeSpan(0, 1, 0))
DisplayHashCode(outputBlock, New TimeSpan(1, 0, 0))
DisplayHashCode(outputBlock, New TimeSpan(36000000001))
DisplayHashCode(outputBlock, New TimeSpan(0, 1, 0, 0, 1))
DisplayHashCode(outputBlock, New TimeSpan(1, 0, 1))
DisplayHashCode(outputBlock, New TimeSpan(1, 0, 0, 0))
DisplayHashCode(outputBlock, New TimeSpan(864000000001))
DisplayHashCode(outputBlock, New TimeSpan(1, 0, 0, 0, 1))
DisplayHashCode(outputBlock, New TimeSpan(1, 0, 0, 1))
DisplayHashCode(outputBlock, New TimeSpan(100, 0, 0, 0))
DisplayHashCode(outputBlock, New TimeSpan(100, 0, 0, 0, 1))
DisplayHashCode(outputBlock, New TimeSpan(100, 0, 0, 1))
End Sub
End Module
' This example of TimeSpan.GetHashCode( ) generates the following
' output, which displays the hash codes of representative TimeSpan
' objects in hexadecimal and decimal formats.
'
' TimeSpan Hash Code
' -------- ---------
' 00:00:00 0x00000000, 0
' 00:00:00.0000001 0x00000001, 1
' 00:00:00.0010000 0x00002710, 10000
' 00:00:01 0x00989680, 10000000
' 00:01:00 0x23C34600, 600000000
' 01:00:00 0x61C46808, 1640261640
' 01:00:00.0000001 0x61C46809, 1640261641
' 01:00:00.0010000 0x61C48F18, 1640271640
' 01:00:01 0x625CFE88, 1650261640
' 1.00:00:00 0x2A69C0C9, 711573705
' 1.00:00:00.0000001 0x2A69C0C8, 711573704
' 1.00:00:00.0010000 0x2A69E7D9, 711583705
' 1.00:00:01 0x2B025649, 721573449
' 100.00:00:00 0x914F4E94, -1857073516
' 100.00:00:00.0010000 0x914F6984, -1857066620
' 100.00:00:01 0x91E7D814, -1847076844
// Example for the TimeSpan.GetHashCode( ) method.
using System;
class Example
{
static void DisplayHashCode(System.Windows.Controls.TextBlock outputBlock, TimeSpan interval)
{
// Create a hash code and a string representation of
// the TimeSpan parameter.
string timeInterval = interval.ToString();
int hashCode = interval.GetHashCode();
// Pad the end of the TimeSpan string with spaces if it
// does not contain milliseconds.
int pIndex = timeInterval.IndexOf(':');
pIndex = timeInterval.IndexOf('.', pIndex);
if (pIndex < 0) timeInterval += " ";
outputBlock.Text += String.Format("{0,22} 0x{1:X8}, {1}",
timeInterval, hashCode) + "\n";
}
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
outputBlock.Text += String.Format(
"This example of TimeSpan.Example( ) generates " +
"the following \noutput, which displays " +
"the hash codes of representative TimeSpan \n" +
"objects in hexadecimal and decimal formats.\n") + "\n";
outputBlock.Text += String.Format("{0,22} {1,10}",
"TimeSpan ", "Hash Code") + "\n";
outputBlock.Text += String.Format("{0,22} {1,10}",
"-------- ", "---------") + "\n";
DisplayHashCode(outputBlock, new TimeSpan(0));
DisplayHashCode(outputBlock, new TimeSpan(1));
DisplayHashCode(outputBlock, new TimeSpan(0, 0, 0, 0, 1));
DisplayHashCode(outputBlock, new TimeSpan(0, 0, 1));
DisplayHashCode(outputBlock, new TimeSpan(0, 1, 0));
DisplayHashCode(outputBlock, new TimeSpan(1, 0, 0));
DisplayHashCode(outputBlock, new TimeSpan(36000000001));
DisplayHashCode(outputBlock, new TimeSpan(0, 1, 0, 0, 1));
DisplayHashCode(outputBlock, new TimeSpan(1, 0, 1));
DisplayHashCode(outputBlock, new TimeSpan(1, 0, 0, 0));
DisplayHashCode(outputBlock, new TimeSpan(864000000001));
DisplayHashCode(outputBlock, new TimeSpan(1, 0, 0, 0, 1));
DisplayHashCode(outputBlock, new TimeSpan(1, 0, 0, 1));
DisplayHashCode(outputBlock, new TimeSpan(100, 0, 0, 0));
DisplayHashCode(outputBlock, new TimeSpan(100, 0, 0, 0, 1));
DisplayHashCode(outputBlock, new TimeSpan(100, 0, 0, 1));
}
}
/*
This example of TimeSpan.GetHashCode( ) generates the following
output, which displays the hash codes of representative TimeSpan
objects in hexadecimal and decimal formats.
TimeSpan Hash Code
-------- ---------
00:00:00 0x00000000, 0
00:00:00.0000001 0x00000001, 1
00:00:00.0010000 0x00002710, 10000
00:00:01 0x00989680, 10000000
00:01:00 0x23C34600, 600000000
01:00:00 0x61C46808, 1640261640
01:00:00.0000001 0x61C46809, 1640261641
01:00:00.0010000 0x61C48F18, 1640271640
01:00:01 0x625CFE88, 1650261640
1.00:00:00 0x2A69C0C9, 711573705
1.00:00:00.0000001 0x2A69C0C8, 711573704
1.00:00:00.0010000 0x2A69E7D9, 711583705
1.00:00:01 0x2B025649, 721573449
100.00:00:00 0x914F4E94, -1857073516
100.00:00:00.0010000 0x914F6984, -1857066620
100.00:00:01 0x91E7D814, -1847076844
*/
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.