在以下代碼中,如何以「良好實踐」方式檢查空引用異常?LINQ:檢查NullReferenceException
if (primaryMenu.ChildNodes.Any(p=>VirtualPathUtility.GetFileName(p.SiteURL).Equals(selectedPage)))
{
primaryMenuTab.Attributes.Add("class", "current");
}
我這樣做的方式是目前(但JetBrain ReSharper的doesnt't瓦納接受它,並不斷警告我以下部分:VirtualPathUtility.GetFileName(p.SiteURL),這是可以理解的),
if (primaryMenu.ChildNodes.Any(p=> p.SiteURL != null && VirtualPathUtility.GetFileName(p.SiteURL).Equals(selectedPage)))
{
primaryMenuTab.Attributes.Add("class", "current");
}
如果菜單具有以下結構,
public class MultiLevelMenuNodeList
{
public string Name { get; set; }
public string Permission { get; set; }
public string SiteURL { get; set; }
public string Visibility { get; set; }
public List<SingleLevelMenuNodeList> ChildNodes { get; set; }
}
public class SingleLevelMenuNodeList
{
public string Name { get; set; }
public string Permission { get; set; }
public string SiteURL { get; set; }
public string Visibility { get; set; }
public string TabPosition { get; set; }
}
預先感謝建議和提示。我還挺越來越沉迷於計算器:)
resharper顯示的警告是什麼? – shahkalpesh 2010-08-18 06:38:14