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

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

哪个更快,更好,为什么?

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

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

什么是更快

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

最好

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

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