跪求大神!如何人已删除数组中的一条记录!!坐等
我想首先判断itemId = "548089"是否有相同的 如果有在判断parentId = "0"的 删除
------解决方案--------------------这样不行?cartList.Remove(object);//object
------解决方案--------------------以上代码不能用for循环,因为循环内remove数组中的一个后,将会在运行时出现数组索引溢出错误,改用while循环即可int i = 0; while (i < cartlist.length) { ... }
------解决方案--------------------你如果一次只删除一个产品,就在for循环里面删除就可了。删除完后就return 集合就可以了 .
如果要删除多个,你可以不删除,直接再建一个集合,把不需要删除的存进去,然后return 你新建的集合就可以了。
如果一定要做删除可以,在for循环里面每删一个对象后把下标减1就可以了.
这样(你这里为什么要cartlist.Count - 1)
for (int i = 0; i < cartlist.Count; i++)
{
string itemId = cartlist[i].ItemId;
for (int j = 0; j < cartlist.Count; j++)
{
if (cartlist[j].ItemId == itemId && cartlist[j].ParentId == "0")
{
cartList.Remove(cartlist[i]);;//object
i--;//这样下标就回到了删除后的下一个,也不会越界
break;
}
}