用 StringBuilder 類替代 String
2024-07-21 02:16:50
供稿:網友
 
在asp.net中我們經常要用到文本對象,一般的操作是定義一個string mystr,然后用mystr+="aaaa"之類的運算來累加.其實還有一個效率高得多的方法:使用 system.text.stringbuilder 類,該類提供了更高的性能.
舉例:我們通常會這么寫:
string begin_query = "select upper(machinename) as machinename, "+"lower(machineowner) as machineowner, status, "+ "starttime from net_stress where ";
string end_query = " and starttime > '" + starttime + "'and starttime < '" + endtime + "'";
string query = begin_query + getwhereclause("passed") + end_query;
用stringbuilder類這么寫:
stringbuilder begin_query = new stringbuilder();
begin_query.append("select upper(machinename) as machinename ");
begin_query.append("lower(machineowner) as machineowner, status, ");
begin_query.append("starttime from net_stress where ");
stringbuilder end_query = new stringbuilder();
end_query.append(" and starttime > '");
end_query.append(starttime);
end_query.append("' and starttime < '");
end_query.append(endtime);
end_query.append("'");
string query = begin_query.append(getwhereclause("passed")).append(end_query).tostring();
其實這個例子中性能的提高有限,畢竟串長度很短,阿貓寫的一個程序需要動態生成大約500k的報表頁面,用string需要40-60秒,用stringbuilder只需<10秒,效率提高太多了.國內最大的酷站演示中心!