登陆 | 免费注册(只需一分钟) | 会员中心

聚宝网   购物专题 基金专题 性专题 饮食专题 教育专题 生活大参考 园林资讯 园艺库 健康专题
  论文专题 家庭养花 园林景观 盆景奇石 激情图库 农业资料库 园林古建 英文站 花卉栽培

聚宝网免费为您提供 最新IT资讯

 

首页 > FAQ > asp.net
高手进来看看,谢谢!
时间:2007-06-18  www.jubao163.com  来源: 不详
所属分类:.NET技术 ASP.NET
-----------------------------------------

下面代码,如果不用两个集合,要怎么实现删除集合中的bbb

现程序错误提示为:集合已修改;可能无法执行枚举操作
 List<string> myList = new List<string>();
        myList.Add("aaa");
        myList.Add("bbb");
        myList.Add("ccc");
        myList.Add("bbb");

        foreach (string myStr in myList)
        {
            if (myStr.ToString() == "bbb")
            {
                myList.Remove(myStr);
            }
        }

----------------------------------------------------------------------

for(int i=0;i<List.items.count;i++)
        {
            if (List[i].ToString() == "bbb")
            {
                List[i].remove();
            }
        }

--------------------------------------------------------

不行的,上面的方法我之前有试

--------------------------------------------------------

foreach里的循环变量是一个只读的变量(自己想想为什么哦)

所以可以用楼上的方案解决

--------------------------------------------------------

手头没2005,没法验证

--------------------------------------------------------

for(int i=List.items.count-1;i>0;i--)
{
     if(List.items[i].value=="bbb")
     {
          List.items.removeAt(i); 
     }
}

--------------------------------------------------------

要从最后一个项往前循环才能删除

--------------------------------------------------------

删除中间的项就影响了集合的循环,会报错

--------------------------------------------------------

学习



推荐文章
联盟网站

浙ICP备 :07003766号 Copyright © 2001-2007 JUBAO163,All rights reserved.