检查文本框是否包含至少一个短语,然后执行一次

时间:2018-05-29 20:29:39

标签: c#

我需要检查文本框是否包含至少一个短语并且仅重复一次的内容。 例如,它包含" hello world" 所以我写这个

if (textbox1.Text.Contains("hello world") == true)
{  
     System.Diagnostics.Debug.WriteLine("Hi");
}

但是,当我在文本框中写入hello world 2,4,7等等时,它会重复“嗨”。多次声明。 有没有办法可以让它重复一次?

1 个答案:

答案 0 :(得分:1)

我不知道你是否在循环中运行它,但你可以这样做:

bool hasPrinted = false;

if (!hasPrinted && textbox1.Text.Contains("hello world"))
{  
    hasPrinted = true;
    System.Diagnostics.Debug.WriteLine("Hi");
}

这将确保在hasPrinted的范围内永远不会再次发射。

例如,如果是在方法中:

public void Foo()
{
    bool hasPrinted = false;

    // do stuff
}

Foo()次调用只打印一次,但如果它在类本身中:

public class MyClass
{
    bool hasPrinted = false;

    public void Foo()
    {
        // do stuff
    }
}

它会持续更长时间,因此,如果您想再次打印hasPrinted,那么您可以将false置于重置位置hi

您的示例中缺少很多内容,因此很难说出您的确切意图。