我有两个文本框,一个用于输入,另一个用于输出。我只需要从输入中过滤十六进制字符并以大写形式输出。我检查过使用正则表达式 ( Regex
) 比使用循环快得多。
我当前的代码首先变为大写,然后过滤十六进制数字,如下所示:
string strOut = Regex.Replace(inputTextBox.Text.ToUpper(), "[^0-9^A-F]", "");
outputTextBox.Text = strOut;
另一种选择:
string strOut = Regex.Replace(inputTextBox.Text, "[^0-9^A-F^a-f]", "");
outputTextBox.Text = strOut.ToUpper();
输入最多可以包含 32k 个字符,因此速度在这里很重要。我曾经TimeSpan
测量过,但结果并不一致。
我的问题是:哪个代码具有更好的速度性能,为什么?