在使用streamreader的语句中检查null的最佳方法是什么? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我有一个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
     {...
c# .net-core streamreader httpwebresponse
1个回答
2
投票

只需检查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
    {
        ...
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.