Stream流返回要不要关闭

时间:2021-11-15 04:50:10
如题 
方法一:返回一个流
public System.IO.Stream getStream()
{
        System.IO.Stream stream;
        return stream;// 
}
方法二:调用这个流
public DocumentXml xml()
{
       DocumentXml xml=new DocumentXml();
       xml.Load(getStream());
}
 stream 流在哪里关闭最节约资源?

7 个解决方案

#1


Load  之后。

#2


用完就关..感觉自己说的是废话 Stream流返回要不要关闭

#3


public System.IO.Stream getStream()
{
        System.IO.Stream stream;  这里返回流是不能关的。关了外面就不能用了。
        return stream;// 
}

#4


public DocumentXml xml()
{
       DocumentXml xml=new DocumentXml();
       using(var stream = getStream()){
       xml.Load(stream );}
}

调用方法里面using

#5


引用 4 楼 starfd 的回复:
public DocumentXml xml()
{
       DocumentXml xml=new DocumentXml();
       using(var stream = getStream()){
       xml.Load(stream );}
}

调用方法里面using


感觉这个是正解

#6


引用 3 楼 wyd1520 的回复:
public System.IO.Stream getStream()
{
        System.IO.Stream stream;  这里返回流是不能关的。关了外面就不能用了。
        return stream;// 
}

是的.显示流已经关闭

#7


跟IDataReader一样的,要在用过之后关闭

#1


Load  之后。

#2


用完就关..感觉自己说的是废话 Stream流返回要不要关闭

#3


public System.IO.Stream getStream()
{
        System.IO.Stream stream;  这里返回流是不能关的。关了外面就不能用了。
        return stream;// 
}

#4


public DocumentXml xml()
{
       DocumentXml xml=new DocumentXml();
       using(var stream = getStream()){
       xml.Load(stream );}
}

调用方法里面using

#5


引用 4 楼 starfd 的回复:
public DocumentXml xml()
{
       DocumentXml xml=new DocumentXml();
       using(var stream = getStream()){
       xml.Load(stream );}
}

调用方法里面using


感觉这个是正解

#6


引用 3 楼 wyd1520 的回复:
public System.IO.Stream getStream()
{
        System.IO.Stream stream;  这里返回流是不能关的。关了外面就不能用了。
        return stream;// 
}

是的.显示流已经关闭

#7


跟IDataReader一样的,要在用过之后关闭