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  的相同和区别到底是什么呢? 什么时候可以通用,什么时候不能通用呢?还望高手指点啊。

原文地址:https://www.cnblogs.com/googlegis/p/2979043.html