我需要检查文本框是否包含至少一个短语并且仅重复一次的内容。 例如,它包含" hello world" 所以我写这个
if (textbox1.Text.Contains("hello world") == true)
{
System.Diagnostics.Debug.WriteLine("Hi");
}
但是,当我在文本框中写入hello world 2,4,7等等时,它会重复“嗨”。多次声明。 有没有办法可以让它重复一次?
答案 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
。
您的示例中缺少很多内容,因此很难说出您的确切意图。