以下是测试代码大家一看就明白了
[C#] 纯文本查看 复制代码 public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string url = "http://www.0398jobs.com/index.htm";
private void Form1_Load(object sender, EventArgs e)
{
}
//
private void button1_Click(object sender, EventArgs e)
{
label1.Text = string.Empty;
DateTime st = DateTime.Now;
for (int i = 0; i < 10000; i++)
{
if (url.IndexOf("job.com") > 0 || url.IndexOf("jobs.com") > 0)
{
}
}
label1.Text = (DateTime.Now - st).Milliseconds.ToString();
}
//Contains
private void button2_Click(object sender, EventArgs e)
{
label1.Text = string.Empty;
DateTime st = DateTime.Now;
for (int i = 0; i < 10000; i++)
{
if (url.Contains("job.com") || url.Contains("jobs.com"))
{
}
}
label1.Text = (DateTime.Now-st).Milliseconds.ToString();
}
}
看测试后的效果
IndexOf执行五次
[C#] 纯文本查看 复制代码 38毫秒
36 毫秒
37毫秒
36毫秒
36毫秒
39毫秒
Contains执行五次
[C#] 纯文本查看 复制代码 3毫秒
2 毫秒
2毫秒
3毫秒
2毫秒
2毫秒
差距这么大我就不多说了,大家一看就明白
Contains的性能要远远的超出IndexOf
测试源码下载
WindowsFormsApplication1.zip
(48.36 KB, 下载次数: 46)
|