StringBuilder使用小結
StringBuilder:一個可變的字元序列。此類提供一個與 StringBuffer 相容的 API,但不保證同步。該類被設計用作 StringBuffer 的一個簡易替換,用在字串緩衝區被單個執行緒使用的時候。
StringBuilder比StringBuffer在實現中更快,在StringBuilder上主要操作的是append和 insert方法。將給定的資料轉換成字串,將字串的字元新增或插入到字串生成器中。append 方法始終將這些字元新增到生成器的末端;而insert 方法則在指定的點新增字元。當在一個迴圈中將許多字串連線在一起時,使用 StringBuilder 類可以提升效能
StringBuilder使用
引用System.Text;
StringBuilder strSql = new StringBuilder();
可以使用讀/寫 Capacity 屬性來設定物件的最大長度。strSql.Capacity = 10;
常用的方法:
Append方法:將文字或物件的字串表示形式新增到由當前 StringBuilder 物件表示的字串的結尾處。
一個更新的sql語句。它的效果和一條sql語句是一樣的。
/// <summary>
/// 更新一條資料,上傳述職報告等資訊;-2015年12月26日範曉權修改;
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool UpdateWord(EvaluationSystem.Model.CadresRateEntity model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update T_CadresRate set ");
strSql.Append("CadresName =@CadresName,");
strSql.Append("UnitClass = @UnitClass,");
strSql.Append("UnitName = @UnitName,");
strSql.Append("Year= @Year,");
strSql.Append("ReportName=@ReportName,");
strSql.Append("ReportAdress = @ReportAdress,");
strSql.Append("AssessmentResult = @AssessmentResult,");
strSql.Append("Punishment = @Punishment,");
strSql.Append("UserName =@UserName,");
strSql.Append("Status=@Status");
strSql.Append(" where CadresID=@CadresID");
SqlParameter[] parameters = {
new SqlParameter("@CadresName", SqlDbType.Text ),
new SqlParameter("@UnitClass", SqlDbType.Text ),
new SqlParameter("@UnitName",SqlDbType.VarChar,100),
new SqlParameter("@Year",SqlDbType.VarChar,50),
new SqlParameter("@ReportName",SqlDbType.VarChar,100),
new SqlParameter("@ReportAdress",SqlDbType.Text),
new SqlParameter("@AssessmentResult",SqlDbType.VarChar,50),
new SqlParameter("@Punishment",SqlDbType.Text),
new SqlParameter("@UserName",SqlDbType.VarChar,50),
new SqlParameter("@Status",SqlDbType.VarChar,50),
new SqlParameter("@CadresID",SqlDbType.VarChar,100)};
parameters[0].Value = model.CadresName;
parameters[1].Value = model.UnitClass;
parameters[2].Value = model.UnitName;
parameters[3].Value = model.Year;
parameters[4].Value = model.ReportName;
parameters[5].Value = model.ReportAdress;
parameters[6].Value = model.AssessmentResult;
parameters[7].Value = model.Punishment;
parameters[8].Value = model.UserName;
parameters[9].Value = model.Status;
parameters[10].Value = model.CadresID;
int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
insert方法可以實現與Append一樣的效果。 StringBuilder strSql = new StringBuilder();
strSql.Insert(strSql.length(),"fxq");
Remove 方法:方法從當前 StringBuilder 中移除指定數量的字元
StringBuilder strSql = new StringBuilder();
strSql.Remove(3,4); //從第3個位置開始,刪除4個字串;
Replace方法:用另一個指定的字元來替換StringBuilder物件內的字元。使用Replace方法來搜尋物件,查詢所有的感嘆號字元,並用問號字元來替換它們。
<span style="font-family:SimSun;"> StringBuilder strSql = new StringBuilder("Hello World!");
strSql.Replace('!', '?'); //替換;</span>
String 或 StringBuilder 物件的串聯操作的效能取決於記憶體分配的發生頻率。String 串聯操作每次都分配記憶體,而 StringBuilder 串聯操作僅當 StringBuilder 物件緩衝區太小而無法容納新資料時才分配記憶體。因此,如果串聯固定數量的 String 物件,則 String 類更適合串聯操作。這種情況下,編譯器甚至會將各個串聯操作組合到一個操作中。如果串聯任意數量的字串,則 StringBuilder 物件更適合串聯操作;例如,某個迴圈對使用者輸入的任意數量的字串進行串聯。
相關文章
- Git使用小結Git
- RecycleView 使用小結View
- 使用ueditor小結
- git 使用小結Git
- 命令列使用小結命令列
- python 使用小結Python
- 安卓動畫使用小結安卓動畫
- mysql for mac使用小結MySqlMac
- oracle tkprof使用小結Oracle
- ORACLE TKPROF 使用小結Oracle
- UIWebView的使用小結UIWebView
- git 子模組使用小結Git
- Editor.md 使用小結
- mybatis 使用經驗小結MyBatis
- RxJava 使用場景小結RxJava
- DataAdapter & DataSet 使用小結APT
- Unity Network 使用小結Unity
- Android Webview 使用小結AndroidWebView
- .Net(c#)使用 Kafka 小結C#Kafka
- Flutter使用TabBar問題小結FluttertabBar
- XGBoost類庫使用小結
- Spring之RestTemplate使用小結SpringREST
- python中GUI使用小結PythonGUI
- Android Camera 使用小結Android
- SQL*LOADER 的使用小結SQL
- Oracle SQL_TRACE使用小結OracleSQL
- java效能優化方案1——使用StringBuilderJava優化UI
- Redux在React中的使用小結ReduxReact
- 日誌檔案使用小結(轉)
- ThinkPHP 5 模型使用歷程 - 小結PHP模型
- 阿里出品Excel工具EasyExcel使用小結阿里Excel
- Elasticsearch Head外掛使用小結Elasticsearch
- YUIDoc的使用方法小結UI
- Laravel 的模型工廠使用小結Laravel模型
- Laravel Passport API 認證使用小結LaravelPassportAPI
- DataAdapter & DataSet 使用小結_轉摘APT
- 正確使用String,StringBuffer,StringBuilderUI
- Java 中 StringBuilder 在高效能用法總結JavaUI