none
wpf 如何遍历删除集合中的元素 RRS feed

  • 问题

  • var cmdTasks = new List<Command>();
    foreach (var task in _cmdTasks.Where(task => task.Uid == cmd.Uid))
    {
          _cmdTasks.Remove(task);
    }

    上面的方法会造成异常,集合已经被破坏

    // 找出要删除的任务
    var delTasks = _cmdTasks.Where(task => task.Uid == cmd.Uid).ToList();
     // 遍历删除
    foreach (var t in delTasks)
    {
       _cmdTasks.Remove(t);
    }         

    只能这么做吗?      

    2014年1月7日 5:14

答案

  •             var cmdTasks = new List<Command>();
                cmdTasks.RemoveAll(task => task.Uid == cmd.Uid);
    • 已标记为答案 skczjun 2014年1月7日 9:17
    2014年1月7日 7:31