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);

                }

            }

        }

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

你可能感兴趣的:(for循环)