WEB开发网
开发学院软件开发C语言 在C#中优化字符串操作 阅读

在C#中优化字符串操作

 2010-09-30 22:34:50 来源:WEB开发网   
核心提示: 2、字符串的Replace() 方法stringinput;/*....*/input.Replace("\\","").Replace("{","\\{").Replace("}","

2、字符串的 Replace() 方法

string input;
/* .... */
input.Replace("\\", "\\\\").Replace("{", "\\{").Replace("}", "\\}"); 

另一种简单的方法是使用的字符串类型Replace方法,当建立RTF文件,该更换程序将如下:这个易读,简短和干净的,但它并不总是最快的选择。

3、从头编写一个自定义方法

就像前面的情况,我想编写一个定制的方法,完成相同的任务。以下是代码:

static string Escape1(string source, char[] escapeChars, char escape) {
  int i = source.IndexOfAny(escapeChars);
  while (i != -1) {
    source = source.Insert(i, escape.ToString());
    i = source.IndexOfAny(escapeChars, i + 2);
  }
  return source.ToString();
}

第一个参数是输入字符串,第二个是一个被转义字符数组,最后一个参数是转义字符,正如你可能知道,如果你需要做连续许多操作,直接编辑字符串的效率不是很高。StringBuilder类提供了一种有效的方式来编辑字符串,虽然它需要一点时间来初始化一个StringBuilder对象,如果你知道你需要反复编辑字符串,这需要合理的使用StringBuilder。

我创建的另一个种使用StringBuilder方法:

static string Escape2(string source, char[] escapeChars, char escape) {
  StringBuilder s = new StringBuilder();
  int j = 0;
  int i = source.IndexOfAny(escapeChars);
  while (i != -1) {
    s.Append(source.Substring(j, i - j));
    s.Append(escape);
    j = i;
    i = source.IndexOfAny(escapeChars, j + 1);
  }
  s.Append(source.Substring(j));
  return s.ToString();
}

上一页  1 2 3 4 5 6  下一页

Tags:优化 字符串 操作

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接