判断购物车是否已经存在

来源:百度知道 编辑:UC知道 时间:2024/06/14 17:36:26
Class 1:
public class MyClass
{
private int _Id;
public int Id
{
get{ return _Id;}
set{ _Id=value;}
}

....
....
....
}
Class 2:
public class NewClass
{
private List<MyClass> _MyItems = new List<MyClass>();
public bool Has(int id)
{
bool a = false;
int dex=IndexOfID(id);
if (dex == -1)
{
a =true;
}
else
{
a =false;
}
return a;
}
private int IndexOfID(int id)
{
int index = -1;
foreach (MyClass item in _MyItems)
{
if (item.Id == id)
{
index += 1;
}
else
{
index = -1;
}
}
return index;

foreach (MyClass item in _MyItems)
{
if (item.Id == id)
{
index += 1;
}
else
{
index = -1;
}
}

你这样循环,如果_MyItems中的最后一个元素不等于id,那最后的index 肯定是-1,你少加了个退出循环的判断。

其实,不用这么复杂,简单点实现这种判断可以这样写:

public bool HasItem(int id)
{
return _MyItems.Exists(
delegate(MyClass item)
{
return item.Id == id;
});

}