Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我得到了一个“答案”';System.ArgumentOutOfRangeException'&引用;什么时候使用循环? var-orth=node2.substands(“span”).ToList().FindAll(x=>x.GetAttributeValue(“class”),Contains(“orth”); var type_translation=node2.substands(“span”).ToList().FindAll(x=>x.GetAttributeValue(“class”),Contains(“cit-cit-type translation”); if(type_translation!=null) { 对于(int i=0;i_C#_Wpf_Html Agility Pack - Fatal编程技术网

C# 我得到了一个“答案”';System.ArgumentOutOfRangeException'&引用;什么时候使用循环? var-orth=node2.substands(“span”).ToList().FindAll(x=>x.GetAttributeValue(“class”),Contains(“orth”); var type_translation=node2.substands(“span”).ToList().FindAll(x=>x.GetAttributeValue(“class”),Contains(“cit-cit-type translation”); if(type_translation!=null) { 对于(int i=0;i

C# 我得到了一个“答案”';System.ArgumentOutOfRangeException'&引用;什么时候使用循环? var-orth=node2.substands(“span”).ToList().FindAll(x=>x.GetAttributeValue(“class”),Contains(“orth”); var type_translation=node2.substands(“span”).ToList().FindAll(x=>x.GetAttributeValue(“class”),Contains(“cit-cit-type translation”); if(type_translation!=null) { 对于(int i=0;i,c#,wpf,html-agility-pack,C#,Wpf,Html Agility Pack,您循环条件要求两个集合的最大计数-i这是错误的: 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", "").Cont

您循环条件要求两个集合的最大计数-
i这是错误的:

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() + " ";
        }
    }
}
for(int i=0;i orth.Count
orth.Count!=0
?类似地,当
orth.Count>键入(u translation.Count
orth.Count!=0
)时会发生什么?因为您的逻辑有缺陷,所以您有一个
索引自动异常

我真的不知道你想在这里做什么,但这很混乱。我的建议是弄清楚你的不变量是什么。这两个集合之间的关系是什么?它们的大小不同有意义吗?如果有,是否允许其中一个大于另一个?同样,如果有,那么你需要确保
i
小于索引前它们中任何一个的计数


现在这真是一团糟。我建议您尽早维护不变量,以便清理此逻辑。

这与null无关,您正在尝试访问超过其长度的列表。您可以在执行
orth[I]之前检查
I
。您应该将源HTML与所需输出一起发布到问题中。我认为我们可以帮助清理代码。更新代码。谢谢
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";
        // ... 
    }
}