【发布时间】:2015-06-26 15:29:39
【问题描述】:
var orth = node2.Descendants("span").ToList().FindAll(x => x.GetAttributeValue("class", "").Contains("orth"));
var type_translation = node2.Descendants("span").ToList().FindAll(x => x.GetAttributeValue("class", "").Contains("cit cit-type-translation"));
if (type_translation != null)
{
for(int i=0;i<Math.Max(type_translation.Count(),orth.Count());i++)
{
if(orth.Count()!=0)
{
results.senselist += type_translation[i].InnerText.Trim() +
" " + orth[i].InnerText.Trim() +"\n";
}
else
{
results.senselist += type_translation[i].InnerText.Trim() + " ";
}
}
}
当调试器在orth[i].InnerText.Trim()播放时应用程序崩溃。
EX:orth.count = 5 和 type_translation.count = 7
由于我的代码:orth[6 or 7] 将为空并在orth[i] 处显示错误'System.ArgumentOutOfRangeException',type_translation 仍有数据但我不知道当它为空时如何检查它?帮我解决它:
- 如果“a”为空,则返回“”;
(= posséder) 拥有,拥有 ⇒ Elle a 2 enfants。她有 2 个孩子。她有 2 个孩子 ⇒ Elle a une belle maison。她有一个可爱的房子。,她有一个可爱的房子。 ⇒ Il a les yeux bleus。他有蓝眼睛,他有蓝眼睛。 ⇒ Tu as de beaux cheveux。你有一头漂亮的头发,你有一头漂亮的头发。 ⇒ Il a beaucoup d'amis。他有很多朋友。他有很多朋友。
我没有足够的积分来发布照片。对不起。 https://social.msdn.microsoft.com/Forums/getfile/647259
【问题讨论】:
-
这与 null 无关,您正在尝试访问超过其长度的列表。你可以先检查
i < orth.Count(),然后再检查orth[i]。 -
您应该将源 HTML 连同您想要的输出一起发布到您的问题中。我认为我们可以帮助清理代码。
-
更新了代码。谢谢
标签: c# wpf html-agility-pack