字符串操作

Nan*_*nda 2 c#

我有全局声明的字符串变量.我必须根据用户输入动态地将一个子字符串附加到此字符串.为此,我使用str = str + substring;

在这种情况下,str中的字符串最终没有有意义的句子,即,单词之间没有空格.为了使它有意义,我使用了以下语句,

str = str +""+ substring; 或str = str + substring +"";

这里每次我必须在子字符串中附加额外的空格,然后将其附加到主字符串上,需要额外的字符串处理.

我可以有效地帮助解决这个问题吗?

Mar*_*ell 6

这取决于你做这件事的频率.如果这是间歇性的(或实际上除了紧密循环之外的其他任何东西),那么就算了; 你有什么好.当然偶尔会产生一个额外的字符串(组合的子字符串/空格),但它会在第0代收集; 非常便宜.

如果你正在积极地(在循环等)这样做,那么使用一个StringBuilder代替:

// declaration
StringBuilder sb = new StringBuilder();
...
// composition
sb.Append(' ').Append(substring);
...
// obtaining the string
string s = sb.ToString();
Run Code Online (Sandbox Code Playgroud)

最终(无关)点 - 重新"全局" - 如果您的意思是static,如果您有多个线程,则可能需要同步访问.