C# 字符串 合并时 + 和 stringbulilder 的区别是什么?
在 转载 flyinggis 的文章ArcGIS server学习 三种有一个查询条件的就是在 txtquery 里面写上 "Name Like '%号%'",我想把它改成直接在txtquery中输入名字,用字符串来表示查询条件:
原文是这样的, 在txtquery 中输入 Name Like '%号%' , spatialfilter.WhereClause = txtQuery.Text;
我后来改成 在txtquery中输入 号 在代码中这样写:spatialfilter.WhereClause = "Name Like '%" +txtQuery.Text +"% '";可是却始终没有结果显示,这本来是一个查询图元并高亮显示的代码,直接写 Name Like '%号%' ,能显示结果,写成 "Name Like '%" +txtQuery.Text +"% '” 却不能显示,一直试了很多次都不知道原因在哪里,后来想到换个函数看怎么样?
System.Text.StringBuilder sb = new System.Text.StringBuilder("");
sb.Append("Name Like '%");
sb.Append(txtQuery.Text);
sb.Append("%'");
spatialfilter.WhereClause = sb.ToString();
竟然能用了,呵呵,不知道什么原因?
C# 字符串操作中 + 和 stringbulilder 的相同和区别到底是什么呢? 什么时候可以通用,什么时候不能通用呢?还望高手指点啊。