日期:2014-05-17  浏览次数:20469 次

跪求大神!如何人已删除数组中的一条记录!!坐等


我想首先判断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;
                    }
                }