情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

TimeSpan.GetHashCode メソッド

2013/12/12

このインスタンスのハッシュ コードを返します。

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

'宣言
Public Overrides Function GetHashCode As Integer

戻り値

型: System.Int32
32 ビット符号付き整数ハッシュ コード。

2 つの TimeSpan オブジェクトが、異なる時間値を表していても、同じハッシュ コードを持つ場合があります。

GetHashCode メソッドを使用して、複数の TimeSpan オブジェクトのハッシュ コードを生成するコード例を次に示します。


' 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


Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示: