Contains比StartsWith更快吗?
- 论坛
- Contains比StartsWith更快吗?
25 浏览
Contains比StartsWith更快吗?
昨天来了一位顾问,不知怎么地就提到了字符串的话题。他提到,他注意到对于长度小于某个特定值的字符串,Contains
实际上比 StartsWith
更快。我必须亲眼见证,所以我写了一个小应用程序,果然 Contains
更快!这怎么可能呢?
DateTime start = DateTime.MinValue; DateTime end = DateTime.MinValue; string str = "Hello there"; start = DateTime.Now; for (int i = 0; i < 10000000; i++) { str.Contains("H"); } end = DateTime.Now; Console.WriteLine("{0}ms 使用 Contains", end.Subtract(start).Milliseconds); start = DateTime.Now; for (int i = 0; i < 10000000; i++) { str.StartsWith("H"); } end = DateTime.Now; Console.WriteLine("{0}ms 使用 StartsWith", end.Subtract(start).Milliseconds);
输出结果:
使用 Contains:726 毫秒 使用 StartsWith:865 毫秒
我还尝试了更长的字符串!