C# - 哪个更快:String.Contains()或Regex.isMatch()?

时间:2010-07-06 12:50:21

标签: c# .net asp.net

  

可能重复:
  Regex.IsMatch vs string.Contains

哪个更快,更可取,为什么?

两者之间的机制有何不同?

我需要从UserAgent中搜索一些值,大多数值都可以在没有通配符的情况下使用(例如,如果我想要抓住手机,我会搜索iPhone而不是*iPhone*通配符。)

1 个答案:

答案 0 :(得分:13)

  

什么是更快

尝试测量。但这是错误的问题,见下文。

  

首选

如果我想匹配固定字符串String.Contains,那就是我需要的。如果我需要模式匹配,那么String.Contains就没用了。

比较这些的表现是无关紧要的,他们做了完全不同的事情。首先使用正确的工具,然后如果您的性能有问题,请使用性能分析来识别要查看的代码的热门部分。