如何使用 StringBuilder 在字符串前添加内容?

164

我知道我们可以使用StringBuilder来追加字符串。那么,我们是否可以使用StringBuilder在字符串前面添加字符串(即往字符串前面添加字符串),以便保持StringBuilder提供的性能优势呢?

12个回答

2

你可以使用一个简单的类为StringBuilder创建扩展:

namespace Application.Code.Helpers
{
    public static class StringBuilderExtensions
    {
        #region Methods

        public static void Prepend(this StringBuilder sb, string value)
        {
            sb.Insert(0, value);
        }

        public static void PrependLine(this StringBuilder sb, string value)
        {
            sb.Insert(0, value + Environment.NewLine);
        }

        #endregion
    }
}

然后,只需添加:
using Application.Code.Helpers;

将StringBuilder用于任何你想要使用的类,并且每次使用intelli-sense与StringBuilder变量时,Prepend和PrependLine方法都会出现。只需记住,当你使用Prepend时,需要按照与Appending相反的顺序进行Prepend。


0

这应该可以工作:

aStringBuilder = "newText" + aStringBuilder; 

在.NET中,这对于类型为“string”的值完美地工作,但对于类型为“StringBuilder”的值则不起作用。@ScubaSteve的答案很好。 - Contango

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接