Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.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#arraylist搜索对象属性问题_C#_.net - Fatal编程技术网

C#arraylist搜索对象属性问题

C#arraylist搜索对象属性问题,c#,.net,C#,.net,我似乎看不出我的错误。我知道这不是最好的方法,但我有义务使用Arraylist 无论如何,我知道我的arraylist包含正确的元素,我想知道我的Item类的属性号是否与“searchNr”相同 如果是,我想使用ToString()打印该元素。如果我搜索“107”(Arraylist中最后一个元素的Number属性),我会找到它。但是找不到任何其他Number属性。我可以使用If语句以外的任何语句,如(Equals) 找到所需项目后,需要添加break语句以退出循环: if (product.N

我似乎看不出我的错误。我知道这不是最好的方法,但我有义务使用Arraylist

无论如何,我知道我的arraylist包含正确的元素,我想知道我的Item类的属性号是否与“searchNr”相同

如果是,我想使用ToString()打印该元素。如果我搜索“107”(Arraylist中最后一个元素的Number属性),我会找到它。但是找不到任何其他Number属性。我可以使用If语句以外的任何语句,如(Equals)


找到所需项目后,需要添加
break
语句以退出循环:

if (product.Number == searchNr)  //if we find the number
{
    resultTextBox.Text = ((Item)product).ToString();    
    break;
}

否则,您可能会找到该项,但您的循环会一直持续到最后,因此该数字不再与后续项匹配,从而导致对
else
语句进行求值。这就是为什么您经常出现在列表中查找最后一个元素(即“107”条目)的原因.

您需要添加一条
break
语句,以便在找到所需项目后退出循环:

if (product.Number == searchNr)  //if we find the number
{
    resultTextBox.Text = ((Item)product).ToString();    
    break;
}

否则,您可能会找到该项,但您的循环会一直持续到最后,因此该数字不再与后续项匹配,从而导致对
else
语句进行求值。这就是为什么您经常出现在列表中查找最后一个元素(即“107”条目)的原因

你在哪里使用?ArayList:还有什么版本的.NET?你在哪里使用?ArayLIST?还有,你使用的是什么版本的.NET?太好了!你应该考虑用调试器来调试你的代码。如果你在你的循环上设置了断点,然后通过它,问题就已经明显了:好吧,再次感谢您,我下次将尝试使用该调试器,这一点非常新,而不是使用调试器:)@user1040281太好了!您应该考虑使用调试器来调试代码。如果您在循环上设置了断点并仔细检查了它,那么问题就很明显了:)好的,再次感谢您,我下次会尝试这个方法,在这个方面非常新,而不是使用调试器:)