草庐IT

StringBuilder类

全部标签

c# - StringBuilder.Append 与 StringBuilder.AppendFormat

我想知道StringBuilder,我有一个问题希望社区能够解释。让我们忘掉代码的可读性,哪些是更快,为什么?StringBuilder.Append:StringBuildersb=newStringBuilder();sb.Append(string1);sb.Append("----");sb.Append(string2);StringBuilder.AppendFormat:StringBuildersb=newStringBuilder();sb.AppendFormat("{0}----{1}",string1,string2); 最佳答案

c# - StringBuilder 类是如何实现的?每次我们附加时它是否在内部创建新的字符串对象?

StringBuilder类是如何实现的?每次追加时它是否在内部创建新的字符串对象? 最佳答案 在.NET2.0中,它在内部使用String类。String仅在System命名空间之外是不可变的,因此StringBuilder可以做到这一点。在.NET4.0中,String已更改为使用char[]。在2.0中StringBuilder看起来像这样publicsealedclassStringBuilder:ISerializable{//FieldsprivateconststringCapacityField="Capacity"

c# - StringBuilder 类是如何实现的?每次我们附加时它是否在内部创建新的字符串对象?

StringBuilder类是如何实现的?每次追加时它是否在内部创建新的字符串对象? 最佳答案 在.NET2.0中,它在内部使用String类。String仅在System命名空间之外是不可变的,因此StringBuilder可以做到这一点。在.NET4.0中,String已更改为使用char[]。在2.0中StringBuilder看起来像这样publicsealedclassStringBuilder:ISerializable{//FieldsprivateconststringCapacityField="Capacity"

c# - 我是否破坏了 StringBuilder 的效率?

我已经开始使用StringBuilder而不是直接连接,但它似乎缺少一个关键方法。所以,我自己实现了它,作为扩展:publicvoidAppend(thisStringBuilderstringBuilder,paramsstring[]args){foreach(stringarginargs)stringBuilder.Append(arg);}这变成了下面的困惑:StringBuildersb=newStringBuilder();...sb.Append(SettingNode);sb.Append(KeyAttribute);sb.Append(setting.Name);进

c# - 我是否破坏了 StringBuilder 的效率?

我已经开始使用StringBuilder而不是直接连接,但它似乎缺少一个关键方法。所以,我自己实现了它,作为扩展:publicvoidAppend(thisStringBuilderstringBuilder,paramsstring[]args){foreach(stringarginargs)stringBuilder.Append(arg);}这变成了下面的困惑:StringBuildersb=newStringBuilder();...sb.Append(SettingNode);sb.Append(KeyAttribute);sb.Append(setting.Name);进

c# - 什么时候使用 StringBuilder?

我了解StringBuilder的好处。但是如果我想连接2个字符串,那么我认为不使用StringBuilder会更好(更快)。这是正确的吗?在什么时候(字符串数量)使用StringBuilder会变得更好? 最佳答案 强烈建议您阅读TheSadTragedyofMicro-OptimizationTheater,作者:杰夫·阿特伍德。它处理简单连接、StringBuilder和其他方法。现在,如果您想查看一些数字和图表,请点击链接;) 关于c#-什么时候使用StringBuilder?,

c# - 什么时候使用 StringBuilder?

我了解StringBuilder的好处。但是如果我想连接2个字符串,那么我认为不使用StringBuilder会更好(更快)。这是正确的吗?在什么时候(字符串数量)使用StringBuilder会变得更好? 最佳答案 强烈建议您阅读TheSadTragedyofMicro-OptimizationTheater,作者:杰夫·阿特伍德。它处理简单连接、StringBuilder和其他方法。现在,如果您想查看一些数字和图表,请点击链接;) 关于c#-什么时候使用StringBuilder?,

c# - 清除 .NET 的 StringBuilder 内容的最佳方法

我想问一下您认为清除内容以重用StringBuilder的最佳方法(持续时间更少/消耗资源更少)。想象一下以下场景:StringBuildersb=newStringBuilder();foreach(varwhateverinwhateverlist){sb.Append("{0}",whatever);}//Performsomestuffwithsb//Clearstringbuilderhere//Populatestringbuilderagaintoperformmoreactionsforeach(varwhatever2inwhateverlist2){sb.Appen

c# - 清除 .NET 的 StringBuilder 内容的最佳方法

我想问一下您认为清除内容以重用StringBuilder的最佳方法(持续时间更少/消耗资源更少)。想象一下以下场景:StringBuildersb=newStringBuilder();foreach(varwhateverinwhateverlist){sb.Append("{0}",whatever);}//Performsomestuffwithsb//Clearstringbuilderhere//Populatestringbuilderagaintoperformmoreactionsforeach(varwhatever2inwhateverlist2){sb.Appen

c# - String.Format 和 StringBuilder 一样高效吗

假设我在C#中有一个stringbuilder可以执行此操作:StringBuildersb=newStringBuilder();stringcat="cat";sb.Append("the").Append(cat).("inthehat");strings=sb.ToString();是否会像具有以下那样有效或更有效:stringcat="cat";strings=String.Format("The{0}inthehat",cat);如果是,为什么?编辑在一些有趣的答案之后,我意识到我可能应该更清楚地了解我的问题。我并不是想问哪个在连接字符串时更快,而是在注入(inject)一