gpt4 book ai didi

VB.NET XML Literals 与 StringBuilder 在性能方面的对比

转载 作者:行者123 更新时间:2023-12-02 08:46:27 27 4
gpt4 key购买 nike

我有很多关于 StringBuilder 的 VB 代码。我正在考虑将它们更改为 XML Litterals,关于性能,它比 StringBuilder 快吗?还是它更慢?

这是 XML 文字的一个例子:

Dim bookString = <bookstore xmlns="http://examples.books.com">
<book publicationdate=<%= publicationdate %> ISBN=<%= isbn %>>
<title>ASP.NET Book</title>
<price><%= price %></price>
<author>
<first-name><%= a.FirstName %></first-name>
<last-name><%= a.LastName %></last-name>
</author>
</book>
</bookstore>.Value

这是一个使用 StringBuilder 的例子:

Dim stringBuilder = new StringBuilder()

stringBuilder.Append("<bookstore xmlns="http://examples.books.com">")
stringBuilder.Append("<book publicationdate=<%= publicationdate %> ISBN=<%= isbn %>>")
stringBuilder.Append("<title>ASP.NET Book</title>")
stringBuilder.Append("<price><%= price %></price>")
stringBuilder.Append("<author>")
stringBuilder.Append("<first-name><%= a.FirstName %></first-name>")
stringBuilder.Append("<last-name><%= a.LastName %></last-name>")
stringBuilder.Append("</author>")
stringBuilder.Append("</book>")
stringBuilder.Append("</bookstore>")

Dim bookString = stringBuilder.toString()

最佳答案

您应该使用 XML 文字来确保您的代码正确。
如果您使用 StringBuilder,您很可能会忘记转义某些内容并生成无效的 XML。

XML 文字可能比纯字符串慢一点,但应该不会有太大区别。

如果您正在处理巨大的文件,您应该使用直接写入磁盘或网络的 XmlWriter;那应该比任何一个都快。

请注意,在您的特定示例中,普通字符串连接会比 StringBuilder 更快。 (因为你没有使用任何循环)

关于VB.NET XML Literals 与 StringBuilder 在性能方面的对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12162019/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com