我有一个StringBuilder实例,我在其中做了很多sb.AppendLine("test");例如。如何计算出我有多少行?我看到这个类有.Length但它告诉我总共有多少个字符。有什么想法吗? 最佳答案 按效率排序:计算您的AppendLine()调用在循环中调用IndexOf()使用正则表达式使用String.Split()最后一个非常昂贵,会产生很多垃圾,不要使用。 关于c#-如何检索StringBuilder行数?,我们在StackOverflow上找到一个类似的问题:
StringBuilder似乎没有Substring(start,len)方法...我在这里缺少什么? 最佳答案 StringBuilder类有一个特殊版本的ToString带有两个参数的方法,与Substring(startIndex,length)完全相同。StringBuildersb=newStringBuilder("ThisisaTest");stringtest=sb.ToString(10,4);Console.WriteLine(test);//result=Test
非常感谢有人帮助我解决以下问题:我时常遇到以下异常:Indexwasoutofrange.Mustbenon-negativeandlessthanthesizeofthecollection.Parametername:chunkLength关于stringBuilder.ToString()。奇怪的是,如果我将stringBuilder.ToString()放入watch中,它会完美运行。 最佳答案 看起来这是一个多线程问题。我锁定了线程以防止同时对stringBuilder进行多次访问。publicvoidAddString(
我想测试StringBuilder是否为空,但没有IsEmpty方法或属性。如何确定这一点? 最佳答案 如果您查看documentationofStringBuilder它只有4个属性。其中之一是长度。ThelengthofaStringBuilderobjectisdefinedbyitsnumberofCharobjects.您可以使用Length属性:GetsorsetsthelengthofthecurrentStringBuilderobject.StringBuildersb=newStringBuilder();if(
我最近读到在StringWriter和StringReader中用于写入和读取StringBuilder。当我使用StringBuilder对象时,它看起来是一个自给自足的类。我们有各种读写StringBuilder的方法,使用StringBuilder.Append()、Insert()、Replace()、Remove()等...StringWriter和StringReader有什么可能的用途,而这不能由StringBuilder本身完成?它们的实际用途是什么?他们没有将Stream作为输入的可能原因是什么(因为任何其他编写者和读者都将流作为要操作的构造函数参数)但StringB
这个问题在这里已经有了答案:Bestwaytoremovethelastcharacterfromastringbuiltwithstringbuilder(12个答案)关闭3年前。我有以下字符串生成器作为msrtResult,它很长:mstrResult.Append(rtbResult.Text).Append("})})"+Environment.NewLine)现在如何从mstrResult中删除最后一个“,”?(它在那个mstrResult的中间,它不是整个字符串的最后一个字符,因为我正在向它附加字符串)我应该在添加换行符之前这样做。谢谢
使用标记生成器和字符串生成器在htmlhelper类中创建表格或使用HtmlTable有什么区别?他们生成的不是一样的东西吗?? 最佳答案 TagBuilder是专门为创建html标签及其内容而设计的类。你说得对,结果无论如何都是一个字符串,当然你仍然可以使用StringBuilder并且结果将是相同的,但是你可以使用TagBuilder做事更容易。假设您需要生成一个标签:使用StringBuilder你需要这样写:varsb=newStringBuilder();sb.Append("");sb.ToString();这不是很酷,
有没有办法附加两个字符串生成器?如果是这样-它的性能是否比将字符串附加到StringBuilder更好? 最佳答案 我知道这是三年后的事了,但是.NET4StringBuilder的行为无论如何都不同了。尽管如此,它还是会回到“你想做什么?”您是否只是在寻找附加两个StringBuilder并继续处理后一个结果的最高效方法?还是您希望继续使用附加的StringBuilder的现有缓冲值?对于前者,并且始终在.NET4中,frontStringBuilder.Append(backStringBuilder);最好。对于.NET2/3
StringBuilder是如何工作的?它在内部做什么?它使用不安全代码吗?为什么它这么快(与+运算符相比)? 最佳答案 当您使用+运算符构建字符串时:strings="01";s+="02";s+="03";s+="04";然后在第一次连接时,我们创建一个长度为4的新字符串,并将“01”和“02”复制到其中——复制了四个字符。在第二次连接中,我们创建了一个长度为6的新字符串,并将“0102”和“03”复制到其中——复制了六个字符。在第三个concat中,我们创建了一个长度为8的字符串,并将“010203”和“04”复制到其中——复
我不得不使用StringBuilder而不是字符串列表,因为这个项目一直使用.NET1.1。我想将我已经写入的一系列调试消息写入一个文件,以便在闲暇时研究,因为屏幕上有太多东西要看(MessageBox没有滚动条)。.NET1.1似乎不提供一些编写文件的简单方法。我也无权访问Environment.Newline来清楚地分隔我附加的行(AppendLine在这个古老版本的StringBuilder中也不可用)。.NET1.1(C#)中将StringBuilder的内容写入文件的最简单方法是什么?手持设备上没有“C”驱动器,所以我想我必须将它写入“\hereIAm.txt”或其他内容。