foreach (YZZ.Model.View_Type_Article a in list)
                    {
                        if (a.a_type.ToString().Split('★')[1] == (1).ToString())
                        {                            list.Remove(a);
                        }
                    }
怎么改呀。

解决方案 »

  1.   

    这类的错误,可以用for循环代替foreach就可以解决,不知道你的list是什么类型的?如果是LinkedList,可以这样处理:LinkedListNode<YZZ.Model.View_Type_Article> rScan=list.First;
    for(;rScan!=null;rScan=rScan.Next)
    {
       a=rScan.Value;
                            if (a.a_type.ToString().Split('★')[1] == (1).ToString())                        {                             list.Remove(a);                        }
    }
      

  2.   

      foreach (YZZ.Model.View_Type_Article a in list)
                { 
                    if (a.a_type.ToString().Split('★')[1] != "1") 
                    { 
                        //执行你要的操作
                    }
                }List<YZZ.Model.View_Type_Article> list = new List<YZZ.Model.View_Type_Article>();
     foreach (YZZ.Model.View_Type_Article a in list)
                { 
                    if (a.a_type.ToString().Split('★')[1] =="1") 
                    { 
                      list.add(a);
                    }
                }
                两个方法都可以。
      

  3.   

    原来是你Remove了,这样上面程序是错的,一般循环里不要remove,如果一定要remove,可以这样:LinkedListNode<YZZ.Model.View_Type_Article> rScan=list.First;
     for(;rScan!=null;)
     {
        a=rScan.Value;
        if (a.a_type.ToString().Split('★')[1] == (1).ToString())  
     {
           LinkedListNode<YZZ.Model.View_Type_Article> rToRemove=rScan;
                                 rScan=rScan.Next;
                                 list.Remove(rToRemove);                        
                                 continue;
    }
     rScan=rScan.Next;
    }
      

  4.   

                for(int i=0;i<list.Count;i++)
                { 
                    if (list[i].a_type.ToString().Split('★')[1] ="1") 
                    {
                        list.Remove(i);
                    }
                }
    这是楼上的说法,但是不能保证数据是不是会出错。因为删除一个索引就变了