在C#中优化字符串操作
2010-09-30 22:34:50 来源:WEB开发网核心提示:程序员通常都希望自己能的编写易读,易维护和易扩展的代码,在C#中优化字符串操作,然而,某些情况下,规则#2:不要使用Regex类的静态方法Regex类提供了一些静态的方法,进行基本的操作,性能变成最重要的事情,本文提供了几个有用的窍门
程序员通常都希望自己能的编写易读,易维护和易扩展的代码。然而,某些情况下,性能变成最重要的事情。本文提供了几个有用的窍门,来提高你常见的字符串操作的性能。
最近,我花了很多时间去研究一个简单的代码编辑器。这个应用程序的主要特点之一是语法高亮,实现这样的功能,性能是关键。我花了很多时间来优化我的代码。在做这个项目的同时,我也学到了很多。在这里,我向大家分享一下我的经验。
附在本文中的项目包含一个简单的基准测试应用程序,来比较下面描述的方法。
N0.1:在字符串中搜索一个单词
对字符串进行搜索是一件常见的任务。有几种方法可以做到这一点,下面将讨论每种方法。
1、使用正则表达式
正则表达式是一个非常强大的,有用的,对于数据验证和字符串搜索是非常快速的 ,但是,当性能很重要,正则表达式可能成为一场噩梦,你可以做几件事,使你的代码运行得更快。
规则#1:写一个好的正则表达式
写一个正则表达式可能很容易,但写一个有效的正则表达式,也是一个挑战,优化正则表达式已经超出了本文的范围,有在网络上有许多讨论这一主题文章和书籍。最重要的规则是:保持简单,复杂的规则表达式,包括大量的交替,通常需要很长时间才能执行。
规则#2:不要使用Regex类的静态方法
Regex类提供了一些静态的方法,进行基本的操作。下面的代码查找字符串变量input 是否包含变量pattern。
string input = "The quick brown fox jumps over the lazy dog";
string pattern = "fox";
if (Regex.IsMatch(input, pattern)) {
/* More code here... */
}
赞助商链接