2014-07-25 115 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); 
}