TimeSpan.GetHashCode Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne un code de hachage pour cette instance.
public:
override int GetHashCode();
public override int GetHashCode ();
override this.GetHashCode : unit -> int
Public Overrides Function GetHashCode () As Integer
Retours
Code de hachage d'un entier signé 32 bits.
Exemples
L’exemple suivant génère les codes de hachage de plusieurs TimeSpan objets à l’aide de la GetHashCode méthode .
// Example for the TimeSpan::GetHashCode( ) method.
using namespace System;
void DisplayHashCode( 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 = String::Concat( timeInterval, " " );
Console::WriteLine( "{0,22} 0x{1:X8}, {1}", timeInterval, hashCode );
}
int main()
{
Console::WriteLine( "This example of TimeSpan::GetHashCode( ) generates "
"the following \noutput, which displays "
"the hash codes of representative TimeSpan \n"
"objects in hexadecimal and decimal formats.\n" );
Console::WriteLine( "{0,22} {1,10}", "TimeSpan ", "Hash Code" );
Console::WriteLine( "{0,22} {1,10}", "-------- ", "---------" );
DisplayHashCode( TimeSpan(0) );
DisplayHashCode( TimeSpan(1) );
DisplayHashCode( TimeSpan(0,0,0,0,1) );
DisplayHashCode( TimeSpan(0,0,1) );
DisplayHashCode( TimeSpan(0,1,0) );
DisplayHashCode( TimeSpan(1,0,0) );
DisplayHashCode( TimeSpan(36000000001) );
DisplayHashCode( TimeSpan(0,1,0,0,1) );
DisplayHashCode( TimeSpan(1,0,1) );
DisplayHashCode( TimeSpan(1,0,0,0) );
DisplayHashCode( TimeSpan(864000000001) );
DisplayHashCode( TimeSpan(1,0,0,0,1) );
DisplayHashCode( TimeSpan(1,0,0,1) );
DisplayHashCode( TimeSpan(100,0,0,0) );
DisplayHashCode( TimeSpan(100,0,0,0,1) );
DisplayHashCode( 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
*/
// Example for the TimeSpan.GetHashCode( ) method.
using System;
class GetHashCode
{
static void DisplayHashCode( 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 += " ";
Console.WriteLine( "{0,22} 0x{1:X8}, {1}",
timeInterval, hashCode );
}
static void Main( )
{
Console.WriteLine(
"This example of TimeSpan.GetHashCode( ) generates " +
"the following \noutput, which displays " +
"the hash codes of representative TimeSpan \n" +
"objects in hexadecimal and decimal formats.\n" );
Console.WriteLine( "{0,22} {1,10}",
"TimeSpan ", "Hash Code" );
Console.WriteLine( "{0,22} {1,10}",
"-------- ", "---------" );
DisplayHashCode( new TimeSpan( 0 ) );
DisplayHashCode( new TimeSpan( 1 ) );
DisplayHashCode( new TimeSpan( 0, 0, 0, 0, 1 ) );
DisplayHashCode( new TimeSpan( 0, 0, 1 ) );
DisplayHashCode( new TimeSpan( 0, 1, 0 ) );
DisplayHashCode( new TimeSpan( 1, 0, 0 ) );
DisplayHashCode( new TimeSpan( 36000000001 ) );
DisplayHashCode( new TimeSpan( 0, 1, 0, 0, 1 ) );
DisplayHashCode( new TimeSpan( 1, 0, 1 ) );
DisplayHashCode( new TimeSpan( 1, 0, 0, 0 ) );
DisplayHashCode( new TimeSpan( 864000000001 ) );
DisplayHashCode( new TimeSpan( 1, 0, 0, 0, 1 ) );
DisplayHashCode( new TimeSpan( 1, 0, 0, 1 ) );
DisplayHashCode( new TimeSpan( 100, 0, 0, 0 ) );
DisplayHashCode( new TimeSpan( 100, 0, 0, 0, 1 ) );
DisplayHashCode( 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
*/
// Example for the TimeSpan.GetHashCode( ) method.
open System
let displayHashCode (interval: TimeSpan) =
// Create a hash code and a string representation of
// the TimeSpan parameter.
let timeInterval = string interval
let hashCode = interval.GetHashCode()
// Pad the end of the TimeSpan string with spaces if it
// does not contain milliseconds.
let pIndex = timeInterval.IndexOf ':'
let pIndex = timeInterval.IndexOf( '.', pIndex )
let timeInterval =
if pIndex < 0 then timeInterval + " "
else timeInterval
printfn $"{timeInterval,22} 0x{hashCode:X8}, {hashCode}"
Console.WriteLine(
"This example of TimeSpan.GetHashCode( ) generates " +
"the following \noutput, which displays " +
"the hash codes of representative TimeSpan \n" +
"objects in hexadecimal and decimal formats.\n" )
Console.WriteLine( "{0,22} {1,10}",
"TimeSpan ", "Hash Code" )
Console.WriteLine( "{0,22} {1,10}",
"-------- ", "---------" )
displayHashCode (TimeSpan 0)
displayHashCode (TimeSpan 1)
displayHashCode (TimeSpan(0, 0, 0, 0, 1) )
displayHashCode (TimeSpan(0, 0, 1) )
displayHashCode (TimeSpan(0, 1, 0) )
displayHashCode (TimeSpan(1, 0, 0) )
displayHashCode (TimeSpan 36000000001L)
displayHashCode (TimeSpan(0, 1, 0, 0, 1) )
displayHashCode (TimeSpan(1, 0, 1) )
displayHashCode (TimeSpan(1, 0, 0, 0) )
displayHashCode (TimeSpan 864000000001L)
displayHashCode (TimeSpan(1, 0, 0, 0, 1) )
displayHashCode (TimeSpan(1, 0, 0, 1) )
displayHashCode (TimeSpan(100, 0, 0, 0) )
displayHashCode (TimeSpan(100, 0, 0, 0, 1) )
displayHashCode (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
*)
' Example for the TimeSpan.GetHashCode( ) method.
Module GetHashCode
Sub DisplayHashCode( 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 &= " "
Console.WriteLine( "{0,22} 0x{1:X8}, {1}", _
timeInterval, hashCode )
End Sub
Sub Main( )
Console.WriteLine( _
"This example of TimeSpan.GetHashCode( ) generates " & _
"the following " & vbCrLf & "output, which displays " & _
"the hash codes of representative TimeSpan " & vbCrLf & _
"objects in hexadecimal and decimal formats." & vbCrLf )
Console.WriteLine( "{0,22} {1,10}", _
"TimeSpan ", "Hash Code" )
Console.WriteLine( "{0,22} {1,10}", _
"-------- ", "---------" )
DisplayHashCode( new TimeSpan( 0 ) )
DisplayHashCode( new TimeSpan( 1 ) )
DisplayHashCode( new TimeSpan( 0, 0, 0, 0, 1 ) )
DisplayHashCode( new TimeSpan( 0, 0, 1 ) )
DisplayHashCode( new TimeSpan( 0, 1, 0 ) )
DisplayHashCode( new TimeSpan( 1, 0, 0 ) )
DisplayHashCode( new TimeSpan( 36000000001 ) )
DisplayHashCode( new TimeSpan( 0, 1, 0, 0, 1 ) )
DisplayHashCode( new TimeSpan( 1, 0, 1 ) )
DisplayHashCode( new TimeSpan( 1, 0, 0, 0 ) )
DisplayHashCode( new TimeSpan( 864000000001 ) )
DisplayHashCode( new TimeSpan( 1, 0, 0, 0, 1 ) )
DisplayHashCode( new TimeSpan( 1, 0, 0, 1 ) )
DisplayHashCode( new TimeSpan( 100, 0, 0, 0 ) )
DisplayHashCode( new TimeSpan( 100, 0, 0, 0, 1 ) )
DisplayHashCode( 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
Remarques
Deux TimeSpan objets peuvent avoir le même code de hachage, même s’ils représentent des valeurs temporelles différentes.