可能重复:
Regex.IsMatch vs string.ContainsC# - 哪个更快:String.Contains()或Regex.isMatch()?
这是更快,最好,为什么?
两者之间的机制有什么不同?
我需要从UserAgent中搜索一些值,大多数值可以不使用通配符(例如,如果我想捕获手机,我搜索iPhone
而不是*iPhone*
通配符)。
可能重复:
Regex.IsMatch vs string.ContainsC# - 哪个更快:String.Contains()或Regex.isMatch()?
这是更快,最好,为什么?
两者之间的机制有什么不同?
我需要从UserAgent中搜索一些值,大多数值可以不使用通配符(例如,如果我想捕获手机,我搜索iPhone
而不是*iPhone*
通配符)。
什么是快
尝试测量。但是这是错误的问题,见下文。
最好
如果我想匹配固定字符串String.Contains
不正是我需要的。如果我需要模式匹配,那么String.Contains
是无用的。
比较这些性能是无关紧要的,他们做了完全不同的事情。首先使用正确的工具,然后只有在性能问题时使用性能分析来识别代码的热部分才能看清楚。
我想你可能会尝试运行一个基准? – 2010-07-06 12:51:57
不,没有我需要的答案。 – eugeneK 2010-07-06 12:58:16
@ daemonfire300,如果我想运行基准测试,我不会问这个问题。我认为一些人已经知道或知道每种方法背后的机制。 – eugeneK 2010-07-06 12:59:41