可能的NullreferenceException

Car*_*rra 4 c# resharper nullreferenceexception

Resharper显示"可能的System.NullReferenceException"警告.然而,我无法看到我如何得到一个.

public class PlaceController : PlanningControllerBase
{
    [Authorize]
    public ActionResult StartStop(int id)
    {
        if (Request != null && Request.Cookies != null && Request.Cookies["place"] != null)
        {
            if (Request.Cookies["place"].Value != null)//Possible NullReferenceException?
            {
                string placeInformation = Request.Cookies["place"].Value;//Possible NullReferenceException?
                //...
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我检查所有字段,它如何给出NullReference?使用以下内容不会显示警告:

Request.Cookies[0];//Index instead of name
Run Code Online (Sandbox Code Playgroud)

编辑:更新的代码.

Lee*_*Lee 6

我假设检查器没有检查传递给CookieCollection索引器的字符串的值是否每次都相同.我想如果你重构代码:

if (Request != null && Request.Cookies != null) 
{
    var place = Request.Cookies["place"];
    if (place != null && place.Value == null) 
    { 
        string placeInformation = place.Value;
    } 
}
Run Code Online (Sandbox Code Playgroud)

它可能会奏效.