ConsoleKeyInfo.GetHashCode メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Dim instance As ConsoleKeyInfo Dim returnValue As Integer returnValue = instance.GetHashCode
32 ビット符号付き整数ハッシュ コード。

GetHashCode メソッドによって返される値は、2 つの ConsoleKeyInfo オブジェクトを区別するのに適していません。アプリケーションで一意のハッシュ コードが必要な場合は、独自のメソッドで GetHashCode メソッドをオーバーライドします。

' This example demonstrates the ConsoleKeyInfo.GetHashCode() method. Imports System Imports System.Text Class Sample Public Shared Sub Main() Dim k1 As String = vbCrLf & "Enter a key ......... " Dim key1 As String = "" Dim hashCodeFmt As String = "The hash code for the {0} key is {1}." Dim prompt As String = "Press the escape key (ESC) to quit, " & _ "or any other key to continue." Dim cki1 As ConsoleKeyInfo Dim hashCode As Integer = 0 ' ' The Console.TreatControlCAsInput property prevents this example from ' ending if you press CTL+C, however all other operating system keys and ' shortcuts, such as ALT+TAB or the Windows Logo key, are still in effect. ' Console.TreatControlCAsInput = True ' Request that the user enter two key presses. A key press and any ' combination shift, CTRL, and ALT modifier keys is permitted. Do Console.Write(k1) cki1 = Console.ReadKey(False) Console.WriteLine() ' key1 = KeyCombination(cki1) hashCode = cki1.GetHashCode() Console.WriteLine(hashCodeFmt, key1, hashCode) ' Console.WriteLine(prompt) cki1 = Console.ReadKey(True) Loop While cki1.Key <> ConsoleKey.Escape End Sub 'Main ' Note: This example requires the Escape (Esc) key. ' The KeyCombination() method creates a string that specifies what ' key and what combination of shift, CTRL, and ALT modifier keys ' were pressed simultaneously. Protected Shared Function KeyCombination(ByVal sourceCki As ConsoleKeyInfo) As String Dim sb As New StringBuilder() sb.Length = 0 Dim keyCombo As String If sourceCki.Modifiers <> 0 Then If(sourceCki.Modifiers And ConsoleModifiers.Alt) <> 0 Then sb.Append("ALT+") End If If(sourceCki.Modifiers And ConsoleModifiers.Shift) <> 0 Then sb.Append("SHIFT+") End If If(sourceCki.Modifiers And ConsoleModifiers.Control) <> 0 Then sb.Append("CTL+") End If End If sb.Append(sourceCki.Key.ToString()) keyCombo = sb.ToString() Return keyCombo End Function 'KeyCombination End Class 'Sample ' 'This example produces results similar to the following output: ' 'Enter a key ......... a 'The hash code for the A key is 97. 'Press the escape key (ESC) to quit, or any other key to continue. ' 'Enter a key ......... S 'The hash code for the SHIFT+S key is 83. 'Press the escape key (ESC) to quit, or any other key to continue. ' 'Enter a key ......... 'The hash code for the ALT+SHIFT+CTL+J key is 7. 'Press the escape key (ESC) to quit, or any other key to continue. '
// This example demonstrates the ConsoleKeyInfo.GetHashCode() method. using System; using System.Text; class Sample { public static void Main() { string k1 = "\nEnter a key ......... "; string key1 = ""; string hashCodeFmt = "The hash code for the {0} key is {1}."; string prompt = "Press the escape key (ESC) to quit, " + "or any other key to continue."; ConsoleKeyInfo cki1; int hashCode = 0; // // The Console.TreatControlCAsInput property prevents this example from // ending if you press CTL+C, however all other operating system keys and // shortcuts, such as ALT+TAB or the Windows Logo key, are still in effect. // Console.TreatControlCAsInput = true; // Request that the user enter two key presses. A key press and any // combination shift, CTRL, and ALT modifier keys is permitted. do { Console.Write(k1); cki1 = Console.ReadKey(false); Console.WriteLine(); // key1 = KeyCombination(cki1); hashCode = cki1.GetHashCode(); Console.WriteLine(hashCodeFmt, key1, hashCode); // Console.WriteLine(prompt); cki1 = Console.ReadKey(true); } while (cki1.Key != ConsoleKey.Escape); // Note: This example requires the Escape (Esc) key. } // The KeyCombination() method creates a string that specifies what // key and what combination of shift, CTRL, and ALT modifier keys // were pressed simultaneously. protected static string KeyCombination(ConsoleKeyInfo sourceCki) { StringBuilder sb = new StringBuilder(); sb.Length = 0; string keyCombo; if (sourceCki.Modifiers != 0) { if ((sourceCki.Modifiers & ConsoleModifiers.Alt) != 0) sb.Append("ALT+"); if ((sourceCki.Modifiers & ConsoleModifiers.Shift) != 0) sb.Append("SHIFT+"); if ((sourceCki.Modifiers & ConsoleModifiers.Control) != 0) sb.Append("CTL+"); } sb.Append(sourceCki.Key.ToString()); keyCombo = sb.ToString(); return keyCombo; } } /* This example produces results similar to the following output: Enter a key ......... a The hash code for the A key is 97. Press the escape key (ESC) to quit, or any other key to continue. Enter a key ......... S The hash code for the SHIFT+S key is 83. Press the escape key (ESC) to quit, or any other key to continue. Enter a key ......... The hash code for the ALT+SHIFT+CTL+J key is 7. Press the escape key (ESC) to quit, or any other key to continue. */

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からConsoleKeyInfo.GetHashCode メソッドを検索する場合は、下記のリンクをクリックしてください。

- ConsoleKeyInfo.GetHashCode メソッドのページへのリンク