gpt4 book ai didi

c# - using 语句的有效使用(MSDN 中没有)

转载 作者:太空宇宙 更新时间:2023-11-03 19:59:20 25 4
gpt4 key购买 nike

我已经阅读了相应的文档页面,但我的问题仍未得到解答。假设我想在 while 循环中使用 disposable Object,如下所示:

StreamReader reader;
while (!ShouldStop)
{
using (reader = new StreamReader(networkStream))
{
// Some code here...
}
}

如您所见,我在 using 语句之外声明了 StreamReade reader。我通常这样做是因为我认为内存区域只会一次分配给该StreamReader。当我像这样使用 using 语句时:

while (!ShouldStop)
{
using (StreamReader reader = new StreamReader(networkStream))
{
// Some code here...
}
}

我认为为 StreamReader 对象连续分配内存,因此它效率和性能要差得多。但是我不知道 using 语句的第一次使用是否定期调用实例的 Dispose() 函数。那么using语句的第一次使用和第二次使用一样吗?

最佳答案

这样做不会节省任何内存:

StreamReader reader;
while (!ShouldStop)
{
using (reader = new StreamReader(networkStream))
{
// Some code here...
}
}

您已经在循环外声明了变量,但您仍在每次迭代中创建一个新对象。

关于c# - using 语句的有效使用(MSDN 中没有),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29986559/

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