今天在VS2017中,当我试图输入StringBuilder时,智能感知出现了InplaceStringBuilder。InplaceStringBuilder对我来说是新的,所以我开始挖掘看看能学到什么。
我注意到的第一件事是它是一个结构体而不是类,并且它的类型信息如下:
因此,它的方法比StringBuilder少得多。然后我在谷歌上搜索了解更多关于InplaceStringBuilder的信息,但是网上没有太多关于它的内容,所以它似乎相当新。
除了我已经提到的区别外,InplaceStringBuilder和StringBuilder之间还有哪些区别?开发人员什么时候应该使用新的InplaceStringBuilder而不是老旧的StringBuilder呢?
我注意到的第一件事是它是一个结构体而不是类,并且它的类型信息如下:
#region Assembly Microsoft.Extensions.Primitives, Version=1.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// C:\Users\Ron Clabo\Documents\Visual Studio 2017\Projects\wwwGiftOasisResponsive\packages\Microsoft.Extensions.Primitives.1.1.0\lib\netstandard1.0\Microsoft.Extensions.Primitives.dll
#endregion
using System.Diagnostics;
namespace Microsoft.Extensions.Primitives {
[DebuggerDisplay("Value = {_value}")]
public struct InplaceStringBuilder {
public InplaceStringBuilder(int capacity);
public int Capacity { get; set; }
public void Append(string s);
public void Append(char c);
public override string ToString();
}
}
因此,它的方法比StringBuilder少得多。然后我在谷歌上搜索了解更多关于InplaceStringBuilder的信息,但是网上没有太多关于它的内容,所以它似乎相当新。
除了我已经提到的区别外,InplaceStringBuilder和StringBuilder之间还有哪些区别?开发人员什么时候应该使用新的InplaceStringBuilder而不是老旧的StringBuilder呢?