关于.net中的内存占用

关于.net中的内存占用,.net,.net,我使用上面的函数将xml转换为字符串。 我可以使用下面给出的返回语句吗 return writer.ToString() 而不是下面给定的函数专家 这对于最小化内存使用是正确的。 执行函数后在函数中声明的变量和流等发生了什么情况?是的,您完全可以使用 strXsl = writer.ToString() writer.Flush() writer.Dispose() Return strXsl 无需刷新StringWriter 实际上通常没

我使用上面的函数将xml转换为字符串。 我可以使用下面给出的返回语句吗

return writer.ToString()

而不是下面给定的函数专家

这对于最小化内存使用是正确的。
执行函数后在函数中声明的变量和流等发生了什么情况?

是的,您完全可以使用

  strXsl = writer.ToString()
        writer.Flush()
        writer.Dispose()
        Return strXsl
  • 无需刷新
    StringWriter
  • 实际上通常没有必要处理它。。。但是不管怎样,处理所有的
    IDisposable
    实现通常是个好主意
更好的解决方案是为编写器使用
Using
语句,因此它总是被处理掉。摆脱无意义的
Catch
块,只需将代码更改为:

return writer.ToString()

您应该很少显式地调用
Dispose
——您几乎应该总是使用a来代替。

是的,您完全可以使用

  strXsl = writer.ToString()
        writer.Flush()
        writer.Dispose()
        Return strXsl
  • 无需刷新
    StringWriter
  • 实际上通常没有必要处理它。。。但是不管怎样,处理所有的
    IDisposable
    实现通常是个好主意
更好的解决方案是为编写器使用
Using
语句,因此它总是被处理掉。摆脱无意义的
Catch
块,只需将代码更改为:

return writer.ToString()

您应该很少显式地调用
Dispose
,您几乎应该总是使用a来代替。

你好,Jon Skeet,非常感谢。您能告诉我为什么不在代码中使用try-catch块吗?有什么特殊用途吗?@hiren:你认为
Try
块在原始代码中实现了什么?它只是重新引用抛出的任何异常——这是毫无意义的。嗨,Jon Skeet,非常感谢。你能告诉我为什么不在代码中使用try-catch块吗?有什么特殊用途吗?@hiren:你认为
Try
块在原始代码中实现了什么?它只是重新引用抛出的任何异常——这是毫无意义的。