簡體   English   中英

針對AD進行檢查時,索引超出了c#范圍

[英]Index was out of range c# when checking against AD

在根據活動目錄檢查用戶時,我還會檢查其郵件屬性,嘗試將其存儲到會話變量中

但是,當用戶的AD帳戶沒有郵件地址時,我想在屏幕上為他們顯示該地址。

目前,索引超出范圍已捕獲異常

如何檢查此內容以便設置label屬性? 我顯然想避免將其設置在陷阱中。

         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); 
            }

您只需添加空值和長度檢查,就應該實際存在這種可能性。

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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM