繁体   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