【发布时间】:2020-02-14 10:16:17
【问题描述】:
我无法理解 XmlWriter 在 C# 中的工作方式。把下面的代码当作假设在某个地方使用过。
StringBuilder builder = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings();
settings.Encoding = new UTF8Encoding(false);
settings.ConformanceLevel = ConformanceLevel.Document;
settings.Indent = true;
XmlWriter writer = XmlWriter.Create(builder, settings);
// Do stuff
writer.Close();
由于 XmlWriter 未在 using 语句中使用,这是否可能由于未正确处理而导致 OutOfMemoryException?
【问题讨论】:
-
Close,在这种情况下与 Dispose 几乎相同,但使用“using”是语法糖,确保您不会错过 close。另外,我应该补充一点,不仅需要关闭一些引用,而且需要发送信号流,一切都已完成并且所有数据都应该完全发送。只有这样你才能使用构建器值。