我有一个带有文本框的应用程序。用户在此框中输入文本。
我在该文本框中的 OnKeyUp 事件中触发了以下函数
private void bxItemText_KeyUp(object sender, System.Windows.Input.KeyEventArgs e)
{
// rules is an array of regex strings
foreach (string rule in rules)
{
Regex regex = new Regex(rule);
if (regex.Match(text.Trim().ToLower()))
{
// matched rule is a variable
matchedRule = rule;
break;
}
}
}
我有大约 12 个字符串rules
,尽管这可能会有所不同。
一旦我的文本框中的文本长度超过 80 个字符,性能就会开始下降。在 100 个字符后键入一个字母需要一秒钟才能显示出来。
我该如何优化呢?我应该在每 3 个 KeyUp 上匹配吗?我应该完全放弃 KeyUp 并每隔几秒钟自动匹配一次吗?