2014-07-25 64 views
0

检查时,当检查,对活动目录用户,我还要检查他们的邮件属性尝试将其保存到一个会话变量索引超出范围C#对广告

然而,当用户AD帐户没有一个邮件地址,我想在屏幕上为他们显示。

目前的异常被捕获索引超出范围

我如何可以检查,这样我可以设置标签属性?我显然希望避免将它设置在捕获物中。

  try 
      { 
       var mail = adsSearchResult.Properties["mail"][0] ; 
       if (mail == null) 
       { 
        Label3.Text = "blablabla"; 
        return; 
       } 
       else 
       { 
        Session["email"] = adsSearchResult.Properties["mail"][0].ToString().ToLower(); 
       } 
      } 
      catch (Exception ex) 
      { 
       Response.Write(ex); 
      } 
+1

什么不能检查var mail = adsSearchResult.Properties [“mail”]第一个?如果它不是null,那么你可以检查count属性而不是立即编制索引。 – TYY

回答

0

你可以简单地添加空和长度检查,你应该实际上,如果有这种可能性。

try { 
    if (adsSearchResult.Properties["mail"]!= null && adsSearchResult.Properties["mail"].Any()) { 
     var mail = adsSearchResult.Properties["mail"][0]; 
     if (mail == null) { 
      Label3.Text = "blablabla"; 
      return; 
     } else { 
      Session["email"] = adsSearchResult.Properties["mail"][0].ToString() 
       .ToLower(); 
     } 
    } 
} catch (Exception ex) { 
    Response.Write(ex); 
}