[英]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.