for循环移除集合中的元素

        /// <summary>
        /// 过滤菜单,将不需要查询显示的菜单禁止显示
        /// </summary>
        /// <param name="menus"></param>
        private static void RemoveMenu(SysMenuItem menu)
        {
            if (menu.Children == null || menu.Children.Count == 0)
                return;
            for (int i = menu.Children.Count - 1; i >= 0; i--)
            {
                var item = menu.Children[i];
                //如果不能显示为菜单则移除
                if (!item.IsVisible || item.FuncType == FuncType.TabPage)
                {
                    menu.Children.Remove(item);
                }
                else
                {
                    RemoveMenu(item);
                }
            }
        }

 从集合的最后一个元素开始移除,

posted @ 2013-03-13 10:54  老虞  阅读(1263)  评论(0编辑  收藏  举报