簡體   English   中英

更有效率的OR陳述

[英]More Efficient OR Statement

我目前有C#代碼檢查用戶輸入,例如:

if (e.KeyCode == Keys.Enter && InputTextbox.Text.Contains("good morning")
   ||
    e.KeyCode == Keys.Enter && InputTextbox.Text.Contains("morning"))

還有使用||的另一種方法 “或”語句,以便它們全部都可以在一行中? 就像是:

if (e.KeyCode == Keys.Enter && InputTextbox.Text.Contains("good morning" || "morning")
var allowedText = new List<string> { "good morning", "morning" };

if (e.KeyCode == Keys.Enter && allowedText.Contains(InputTextbox.Text))
{
    // do something
}

您可以使用要檢查的值創建一個數組,然后檢查該數組是否包含TextBox值

string[] a = {"good morning" , "morning");

if (e.KeyCode == Keys.Enter && a.Contains(InputTextbox.Text))
{
}

嗯,例如:如果您的InputTextBox是:“您好,早上好”,我認為上述答案不起作用,如果您要這樣做(必須將給定的較小字符串與可能較大的字符串進行比較),則必須檢查反過來:

if (e.KeyCode == Keys.Enter && (InputTextbox.Text.Contains("good morning") || InputTextbox.Text.Contains("morning"))

只是以為我會指出,如果不是這種情況,請忽略此答案。

這足夠了:

if (e.KeyCode == Keys.Enter && InputTextbox.Text.Contains("morning"))
{
}

這是因為,如果InputTextbox.Text.Contains("good morning")true ,則InputTextbox.Text.Contains("morning")必須為true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM