【发布时间】:2012-09-12 02:48:39
【问题描述】:
我是否必须将所有IDisposable 对象包装在using(){} 语句中,即使我只是将一个对象传递给另一个对象?例如,在以下方法中:
public static string ReadResponse(HttpWebResponse response)
{
string resp = null;
using (Stream responseStream = response.GetResponseStream())
{
using (StreamReader responseReader = new StreamReader(responseStream))
{
resp = responseReader.ReadToEnd();
}
}
return resp;
}
我可以像这样将其合并为一个using:
public static string ReadResponse(HttpWebResponse response)
{
string resp = null;
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
resp = reader.ReadToEnd();
}
return resp;
}
我可以指望Stream 和StreamReader 都被处置吗?还是我必须使用两个using 语句?
【问题讨论】:
标签: c#