问题标签 [stringbuilder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1942 浏览

asp.net - 具有干净输出的 ASP.NET HTML 控件?

我正在开发一个 ASP.NET Web 应用程序,但我一直遇到同样的问题:

有时我想从代码隐藏将 HTML 写入页面。例如,我有一个页面 Editor.aspx,其输出取决于 GET 变量“view”的值。换句话说,“Editor.aspx?view=apples”输出的 HTML 与“Editor.aspx?view=oranges”不同。

我目前用 StringBuilder 输出这个 HTML。例如,如果我想创建一个列表,我可能会使用以下语法:

问题是我宁愿为此目的使用 ASP.NET 的 List 控件,因为几行 StringBuilder 语法妨碍了我的代码的可读性。但是,ASP.NET 控件倾向于输出复杂的 HTML,具有唯一 ID、内联样式和偶尔的内联 JavaScript 块。

我的问题是,是否有一个仅代表通用 HTML 标记的 ASP.NET 控件?换句话说,是否有类似以下示例的控件:

我知道有包装器之类的,但与其驯服 ASP.NET 的复杂性,我宁愿从一开始就从简单性开始。

0 投票
3 回答
6958 浏览

c# - 使用多线程访问相同的字符串(StringBuilder)

我的问题是如果我有时在同一个字符串上使用多线程

字符串不会被替换。(我在记事本上写了这个,所以语法可能是

错误的)

使用 System.Thread ...当然还有其他

现在有时某些元素不会被替换。所以我对此的解决方案是调用 container.Replace

方法并做一个“锁定”,但它是正确的方法吗?

0 投票
3 回答
459 浏览

c# - 如何将 VB.NET 中的扩展移植到 C#?

我在 VB.NET 中为 StringBuilder 编写了一个扩展来添加一个AppendFormattedLine方法(所以我不必为换行符使用其中一个参数):

0 投票
4 回答
18093 浏览

.net - 为什么 StringBuilder 没有 IndexOf 方法?

我知道我可以调用 ToString().IndexOf(...),但我不想创建额外的字符串。我知道我可以手动编写搜索例程。我只是想知道为什么框架中还没有这样的例程。

0 投票
19 回答
433812 浏览

java - Java 中 toString() 中的 StringBuilder 与字符串连接

鉴于以下 2toString()种实现,首选哪一种:

或者

?

更重要的是,鉴于我们只有 3 个属性,它可能不会有什么不同,但是你会在什么时候从+concat 切换到 StringBuilder

0 投票
4 回答
2891 浏览

c# - Java 和 C# 中的 StringBuilder 之间的区别

我正在将 Java 代码转换为 C#。Java 中的 StringBuilder 类似乎比 C# 有更多的方法。我对(比如说)Java 功能感兴趣

这在 C# 中似乎没有。

我想前两个可以建模为

但是第三个会在 sb 内容的副本而不是实际内容上进行操作吗?

有没有一种通用的方法可以将此功能添加到所有缺失的方法中?

0 投票
6 回答
6688 浏览

delphi - 何时以及为什么应该使用 TStringBuilder?

一年前,我将我的程序从 Delphi 4 转换为 Delphi 2009,主要是为了跳转到 Unicode,同时也是为了获得这些年来 Delphi 改进的好处。

因此,我的代码当然都是遗留代码。它使用的短字符串现在都方便地变成了长 Unicode 字符串,并且我已经将所有旧的 ANSI 函数更改为新的等效函数。

但是在 Delphi 2009 中,他们引入了 TStringBuilder 类,大概是仿照 .NET 的 StringBuilder 类。

我的程序进行了大量的字符串处理和操作,并且可以一次将数百兆字节的大字符串加载到内存中以供使用。

我对Delphi对TStringBuilder的实现了解不多,但听说它的一些操作比使用默认的字符串操作要快。

我的问题是是否值得我努力并转换我的标准字符串以使用 TStringBuilder 类。这样做我会得到什么,失去什么?


感谢您的回答并让我得出结论,除非需要 .NET 兼容性,否则不要打扰。

Jolyon Smith在他关于 Delphi 2009 String Performance 的博客中指出:

但在我看来,TStringBuilder 似乎主要是作为 .NET 兼容性夹具存在的,而不是为 Win32 应用程序的开发人员提供任何真正的好处,希望或需要单一来源 Win32/.NET 代码库的开发人员可能例外字符串处理性能不是问题。

0 投票
11 回答
7403 浏览

java - 字符串是不可变的——这意味着我不应该使用 += 并且只使用 StringBuffer?

字符串是不可变的,这意味着一旦创建它们就无法更改。

那么,这是否意味着如果使用 += 附加内容会比创建 StringBuffer 并将文本附加到其中需要更多的内存?

如果你使用 +=,你会在每次必须保存在内存中时创建一个新的“对象”,不是吗?

0 投票
6 回答
226 浏览

stringbuilder - String / StringBuilder 你分别使用什么音量

现在是周五重构时间!!!

我有一个用于生成 SQL 语句的对象。

oDb.From 设置一次。然后元数据可能会随着时间的推移添加连接,直到我们将它们全部组合并传回。

所以问题是,在用 sbFrom.Append() 替换之前,我保留语法 oDb.From += 的次数是多少?

那是#3、4还是15次?

还是真的是内容长度问题,如果是,那么神奇的#是什么?

TIA

0 投票
9 回答
77233 浏览

java - 将 Java StringBuilder 转储到文件

将 StringBuilder 转储到文本文件的最有效/优雅的方法是什么?

你可以做:

但这对很长的文件有效吗?

有没有更好的办法?