ConsoleKeyInfo.Equals Yöntem
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir nesnenin veya belirtilen ConsoleKeyInfo nesnenin geçerli ConsoleKeyInfo nesneye eşit olup olmadığını belirten bir değer alır.
Equals(ConsoleKeyInfo) |
Belirtilen ConsoleKeyInfo nesnenin geçerli ConsoleKeyInfo nesneye eşit olup olmadığını belirten bir değer alır. |
Equals(Object) |
Belirtilen nesnenin geçerli ConsoleKeyInfo nesneye eşit olup olmadığını belirten bir değer alır. |
- Kaynak:
- ConsoleKeyInfo.cs
- Kaynak:
- ConsoleKeyInfo.cs
- Kaynak:
- ConsoleKeyInfo.cs
Belirtilen ConsoleKeyInfo nesnenin geçerli ConsoleKeyInfo nesneye eşit olup olmadığını belirten bir değer alır.
public:
virtual bool Equals(ConsoleKeyInfo obj);
public:
bool Equals(ConsoleKeyInfo obj);
public bool Equals (ConsoleKeyInfo obj);
override this.Equals : ConsoleKeyInfo -> bool
Public Function Equals (obj As ConsoleKeyInfo) As Boolean
Parametreler
- obj
- ConsoleKeyInfo
Geçerli ConsoleKeyInfo nesneyle karşılaştıracak bir nesne.
Döndürülenler
true
geçerli nesneye eşitseobj
; değilse, false
.ConsoleKeyInfo
Uygulamalar
Açıklamalar
İki ConsoleKeyInfo nesne, karşılık gelen KeyChar, Keyve Modifiers özellikleri eşitse eşittir.
yöntemi Equals , bir nesneye ConsoleKeyInfo.Equals(Object) dönüştürmesi obj
gerekmediğinden yönteminden biraz daha iyi performans gösterir.
Şunlara uygulanır
.NET 9 ve diğer sürümler
Ürün | Sürümler |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.3, 1.4, 1.6, 2.0, 2.1 |
- Kaynak:
- ConsoleKeyInfo.cs
- Kaynak:
- ConsoleKeyInfo.cs
- Kaynak:
- ConsoleKeyInfo.cs
Belirtilen nesnenin geçerli ConsoleKeyInfo nesneye eşit olup olmadığını belirten bir değer alır.
public:
override bool Equals(System::Object ^ value);
public override bool Equals (object? value);
public override bool Equals (object value);
override this.Equals : obj -> bool
Public Overrides Function Equals (value As Object) As Boolean
Parametreler
- value
- Object
Geçerli ConsoleKeyInfo nesneyle karşılaştıracak bir nesne.
Döndürülenler
true
bir nesneyse ve geçerli ConsoleKeyInfo nesneye eşitsevalue
; değilse, false
.ConsoleKeyInfo
Örnekler
Aşağıdaki örnekte yöntemi gösterilmektedir Equals .
using namespace System;
using namespace System::Text;
static String^ KeyCombination(ConsoleKeyInfo sourceCki);
void main()
{
String^ k1 = "\nEnter a key ......... ";
String^ k2 = "\nEnter another key ... ";
String^ key1 = "";
String^ key2 = "";
String^ areKeysEqual = "The {0} and {1} keys are {2}equal.";
String^ equalValue = "";
String^ prompt = "Press the escape key (ESC) to quit, " +
"or any other key to continue.";
ConsoleKeyInfo cki1;
ConsoleKeyInfo cki2;
//
// 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::Write(k2);
cki2 = Console::ReadKey(false);
Console::WriteLine();
key1 = KeyCombination(cki1);
key2 = KeyCombination(cki2);
if (cki1.Equals(cki2))
equalValue = "";
else
equalValue = "not ";
Console::WriteLine(areKeysEqual, key1, key2, equalValue);
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.
static String^ KeyCombination(ConsoleKeyInfo sourceCki)
{
StringBuilder^ sb = gcnew StringBuilder();
sb->Length = 0;
String^ keyCombo;
if (sourceCki.Modifiers != ConsoleModifiers())
{
if ((sourceCki.Modifiers & ConsoleModifiers::Alt) != ConsoleModifiers())
sb->Append("ALT+");
if ((sourceCki.Modifiers & ConsoleModifiers::Shift) != ConsoleModifiers())
sb->Append("SHIFT+");
if ((sourceCki.Modifiers & ConsoleModifiers::Control) != ConsoleModifiers())
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
Enter another key ... a
The A and A keys are equal.
Press the escape key (ESC) to quit, or any other key to continue.
Enter a key ......... a
Enter another key ... A
The A and SHIFT+A keys are not equal.
Press the escape key (ESC) to quit, or any other key to continue.
Enter a key ......... S
Enter another key ...
The ALT+SHIFT+S and ALT+CTL+F keys are not equal.
Press the escape key (ESC) to quit, or any other key to continue.
Enter a key .........
Enter another key ...
The UpArrow and UpArrow keys are equal.
Press the escape key (ESC) to quit, or any other key to continue.
*/
// This example demonstrates the ConsoleKeyInfo.Equals() method.
using System;
using System.Text;
class Sample
{
public static void Main()
{
string k1 = "\nEnter a key ......... ";
string k2 = "\nEnter another key ... ";
string key1 = "";
string key2 = "";
string areKeysEqual = "The {0} and {1} keys are {2}equal.";
string equalValue = "";
string prompt = "Press the escape key (ESC) to quit, " +
"or any other key to continue.";
ConsoleKeyInfo cki1;
ConsoleKeyInfo cki2;
//
// 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.Write(k2);
cki2 = Console.ReadKey(false);
Console.WriteLine();
//
key1 = KeyCombination(cki1);
key2 = KeyCombination(cki2);
if (cki1.Equals(cki2))
equalValue = "";
else
equalValue = "not ";
Console.WriteLine(areKeysEqual, key1, key2, equalValue);
//
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
Enter another key ... a
The A and A keys are equal.
Press the escape key (ESC) to quit, or any other key to continue.
Enter a key ......... a
Enter another key ... A
The A and SHIFT+A keys are not equal.
Press the escape key (ESC) to quit, or any other key to continue.
Enter a key ......... S
Enter another key ...
The ALT+SHIFT+S and ALT+CTL+F keys are not equal.
Press the escape key (ESC) to quit, or any other key to continue.
Enter a key .........
Enter another key ...
The UpArrow and UpArrow keys are equal.
Press the escape key (ESC) to quit, or any other key to continue.
*/
// This example demonstrates the ConsoleKeyInfo.Equals() method.
open System
open System.Text
// The keyCombination function creates a string that specifies what
// key and what combination of shift, CTRL, and ALT modifier keys
// were pressed simultaneously.
let keyCombination (sourceCki: ConsoleKeyInfo) =
let sb = StringBuilder()
sb.Length <- 0
if int sourceCki.Modifiers <> 0 then
if int (sourceCki.Modifiers &&& ConsoleModifiers.Alt) <> 0 then
sb.Append "ALT+" |> ignore
if int (sourceCki.Modifiers &&& ConsoleModifiers.Shift) <> 0 then
sb.Append "SHIFT+" |> ignore
if int (sourceCki.Modifiers &&& ConsoleModifiers.Control) <> 0 then
sb.Append "CTL+" |> ignore
sourceCki.Key
|> string
|> sb.Append
|> string
//
// 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
let mutable cki1 = Unchecked.defaultof<ConsoleKeyInfo>
let mutable cki2 = Unchecked.defaultof<ConsoleKeyInfo>
// Request that the user enter two key presses. A key press and any
// combination shift, CTRL, and ALT modifier keys is permitted.
while cki1.Key <> ConsoleKey.Escape do
printf "\nEnter a key ......... "
cki1 <- Console.ReadKey false
printf "\nEnter another key ... "
cki2 <- Console.ReadKey false
printfn ""
let key1 = keyCombination cki1
let key2 = keyCombination cki2
let equalValue =
if cki1.Equals cki2 then ""
else "not "
printfn $"The {key1} and {key2} keys are {equalValue}equal."
printfn "Press the escape key (ESC) to quit, or any other key to continue."
cki1 <- Console.ReadKey true
// Note: This example requires the Escape (Esc) key.
// This example produces results similar to the following output:
//
// Enter a key ......... a
// Enter another key ... a
// The A and A keys are equal.
// Press the escape key (ESC) to quit, or any other key to continue.
//
// Enter a key ......... a
// Enter another key ... A
// The A and SHIFT+A keys are not equal.
// Press the escape key (ESC) to quit, or any other key to continue.
//
// Enter a key ......... S
// Enter another key ...
// The ALT+SHIFT+S and ALT+CTL+F keys are not equal.
// Press the escape key (ESC) to quit, or any other key to continue.
//
// Enter a key .........
// Enter another key ...
// The UpArrow and UpArrow keys are equal.
// Press the escape key (ESC) to quit, or any other key to continue.
' This example demonstrates the ConsoleKeyInfo.Equals() method.
Imports System.Text
Class Sample
Public Shared Sub Main()
Dim k1 As String = vbCrLf & "Enter a key ......... "
Dim k2 As String = vbCrLf & "Enter another key ... "
Dim key1 As String = ""
Dim key2 As String = ""
Dim areKeysEqual As String = "The {0} and {1} keys are {2}equal."
Dim equalValue As String = ""
Dim prompt As String = "Press the escape key (ESC) to quit, " & _
"or any other key to continue."
Dim cki1 As ConsoleKeyInfo
Dim cki2 As ConsoleKeyInfo
'
' 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.Write(k2)
cki2 = Console.ReadKey(False)
Console.WriteLine()
'
key1 = KeyCombination(cki1)
key2 = KeyCombination(cki2)
If cki1.Equals(cki2) Then
equalValue = ""
Else
equalValue = "not "
End If
Console.WriteLine(areKeysEqual, key1, key2, equalValue)
'
Console.WriteLine(prompt)
cki1 = Console.ReadKey(True)
Loop While cki1.Key <> ConsoleKey.Escape
End Sub
' 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
'
'This example produces results similar to the following output:
'
'Enter a key ......... a
'Enter another key ... a
'The A and A keys are equal.
'Press the escape key (ESC) to quit, or any other key to continue.
'
'Enter a key ......... a
'Enter another key ... A
'The A and SHIFT+A keys are not equal.
'Press the escape key (ESC) to quit, or any other key to continue.
'
'Enter a key ......... S
'Enter another key ...
'The ALT+SHIFT+S and ALT+CTL+F keys are not equal.
'Press the escape key (ESC) to quit, or any other key to continue.
'
'Enter a key .........
'Enter another key ...
'The UpArrow and UpArrow keys are equal.
'Press the escape key (ESC) to quit, or any other key to continue.
'
Açıklamalar
İki ConsoleKeyInfo nesne, karşılık gelen KeyChar, Keyve Modifiers özellikleri eşitse eşittir.
Şunlara uygulanır
.NET 9 ve diğer sürümler
Ürün | Sürümler |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.3, 1.4, 1.6, 2.0, 2.1 |
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin: