首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关闭流的顺序解决方法

2012-02-20 
关闭流的顺序NetworkStream ns ...StreamReader sr new StreamReader(ns)StreamWriter sw new Str

关闭流的顺序
NetworkStream ns = ...;
StreamReader sr = new StreamReader(ns);
StreamWriter sw = new StreamWrtier(ns);

问题:ns,sr,sw 应如何关闭,用怎样的顺序关闭。sr和sw似乎只能关掉一个。



[解决办法]
StreamReader 和StreamWriter 没什么关系吧。。。NetworkStream 放在最后
[解决办法]
测了一下,发现3者关闭顺序应该如下:

C# code
using System;using System.IO;using System.Net.Sockets;using System.Net;class Example{    static void Main()    {        Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);        IPAddress hostAddress = Dns.GetHostEntry("localhost").AddressList[0];        s.Connect(hostAddress, 8000);        NetworkStream ns = new NetworkStream(s);        StreamReader sr = new StreamReader(ns);        char[] buffer=new char[5];        sr.Read(buffer, 0, 1);        StreamWriter sw = new StreamWriter(ns);        sw.Write(true);        sw.Close();        sr.Close();        ns.Close();    }} 

热点排行