这个问题在这里已有答案:
我有一个HttpWebResponse和StreamReader resharper指示我的httpResponse.GetResponseStream()可能为null但我不确定正确的语法。
using(var httpResponse = (HttpWebResponse)request.GetResponse())
{
if (httpResponse.StatusCode == HttpStatusCode.OK)
{
//This line is where Resharper Is complaining
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
...
}
}
else
{...
只需检查httpResponse.GetResponseStream()
不返回空值:
using(var httpResponse = (HttpWebResponse)request.GetResponse())
{
if (httpResponse.StatusCode == HttpStatusCode.OK)
{
var responseStream = httpResponse.GetResponseStream();
if (responseStream != null)
{
// Line reached only if httpResponse.GetResponseStream() isn't null
using (var streamReader = new StreamReader(responseStream))
{
var result = streamReader.ReadToEnd();
...
}
}
}
else
{
...
}
}