标签: stringbuilder

C#operator ==,StringBuilder.Equals,Object.Equals和Object.ReferenceEquals之间的差异

我有一个关于Object.Equals和的问题Equals(object).我的示例代码如下:

class Program
{
    static void Main(string[] args)
    {
        var sb1 = new StringBuilder("Food");
        var sb2 = new StringBuilder("Food");
        Console.WriteLine(sb1 == sb2);
        Console.WriteLine(sb1.Equals(sb2));
        Console.WriteLine(Object.Equals(sb1, sb2));
        Console.WriteLine(Object.ReferenceEquals(sb1, sb2));
        Console.ReadLine();
    }
}
Run Code Online (Sandbox Code Playgroud)

输出是:

False
True
False
False
Run Code Online (Sandbox Code Playgroud)

但就我Object.Equals(sb1, sb2)内心的 问题而言sb1.Equals(sb2),为什么会给出两个不同的结果?

c# stringbuilder object referenceequals equals-operator

26
推荐指数
1
解决办法
2044
查看次数

Java StringBuilder(StringBuffer)的ensureCapacity():为什么它加倍并递增2?

我已经搜索了这个,但是我找不到为什么StringBuilder的ensureCapacity()方法不会通过加倍来延长旧容量,而是添加两个.

因此,当默认容量16已满时,下一个加长值将为34,除非整个字符串长度不超过34.为什么不应该是32?

我最好的猜测是考虑一个空字符'\ u0000',但我不确定.谁能告诉我为什么?

java stringbuilder stringbuffer capacity

26
推荐指数
1
解决办法
838
查看次数

C#String.Substring等效于StringBuilder?

StringBuilder似乎没有Substring(start,len)方法......我在这里缺少什么?

c# stringbuilder substring

25
推荐指数
1
解决办法
1万
查看次数

是否有任何情况下Rope数据结构比字符串生成器更有效

此问题相关,基于用户Eric Lippert的评论.

是否有任何情况下Rope数据结构比字符串生成器更有效?有些人认为绳索数据结构在速度方面几乎从不比典型情况下的本地字符串或字符串构建器操作更好,所以我很想看到确实绳索更好的真实场景.

c# string stringbuilder ropes

24
推荐指数
3
解决办法
5809
查看次数

如何检索StringBuilder行数?

我有一个StringBuilder例子,我做了很多sb.AppendLine("test");例子.

我如何计算出我有多少行?

我看到班级有,.Length但它告诉我有多少个角色.

有任何想法吗?

.net c# stringbuilder

24
推荐指数
3
解决办法
3万
查看次数

StringBuilder和字节转换

我有以下代码:

StringBuilder data = new StringBuilder();
for (int i = 0; i < bytes1; i++)
{ 
    data.Append("a"); 
}
byte[] buffer = Encoding.ASCII.GetBytes(data);
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

cannot convert from 'System.Text.StringBuilder' to 'char[]'
The best overloaded method match for 'System.Text.Encoding.GetBytes(char[])'
has some invalid arguments
Run Code Online (Sandbox Code Playgroud)

c# stringbuilder encoding byte

23
推荐指数
4
解决办法
5万
查看次数

从StringBuilder的末尾修剪空格而不调用ToString().修剪()并返回到新的SB

StringBuilder没有调用ToString()的情况下从空尾修剪空白的有效方法是什么.修剪()并返回到新的SB new StringBuilder(sb.ToString().Trim()).

c# stringbuilder

23
推荐指数
1
解决办法
1万
查看次数

StringBuffer如何在不创建两个对象的情况下实现追加功能?

这是一个面试问题.我被要求实现StringBuffer追加功能.我在采访后看到了代码.但我无法理解如何通过创建单个对象来完成操作.

我在想这个.

String s = "orange";
s.append("apple");
Run Code Online (Sandbox Code Playgroud)

这里创建了两个对象.

StringBuilder s = new StringBuilder("Orange");
s.append("apple");
Run Code Online (Sandbox Code Playgroud)

现在这里只创建了一个对象.

Java如何进行此操作?

java string stringbuilder

22
推荐指数
2
解决办法
2万
查看次数

StringBuilder - 重置或创建新的

我有一个条件,StringBuilder保持存储与大平面文件(100的MB)模式匹配的行.但是在达到条件后,我将StringBuilder varialble的内容写入文本文件.

现在我想知道是否应该通过重置对象来使用相同的变量 - >

stringBuilder.delete(0,stringBuilder.length())
Run Code Online (Sandbox Code Playgroud)

要么

stringBuilder=new StringBuilder();
Run Code Online (Sandbox Code Playgroud)

请提出一下,就性能和OOM问题而言,您认为哪种方式更好.

java stringbuilder

22
推荐指数
3
解决办法
3万
查看次数

为什么WPF Presentation库在StringBuilder.ToString()中包装字符串?

在找到的代码PresentationCore.dll(.NET4 WPF)由ILSpy:

// MS.Internal.PresentationCore.BindUriHelper
internal static string UriToString(Uri uri)
{
    if (uri == null)
    {
        throw new ArgumentNullException("uri");
    }

    return new StringBuilder(uri.GetComponents(uri.IsAbsoluteUri ? UriComponents.AbsoluteUri : UriComponents.SerializationInfoString, UriFormat.SafeUnescaped), 2083).ToString();
}
Run Code Online (Sandbox Code Playgroud)

返回类型uri.GetComponentsstring,为什么没有方法只返回string值而不是将它包装在一个StringBuilder(string).ToString();是这个设计?在一般意义上这样做的原因是什么?它会减少分配或改善垃圾收集还是用于线程安全?

.net c# string wpf stringbuilder

22
推荐指数
1
解决办法
519
查看次数