foreach代码如何改造成递归

accpchenjun accpchenjun 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
下面代码如何改造成递归的方式


List<RibbonPageGroup> rpgList = null;
List<BarButtonItem> bbbiList = null;
List<RibbonPage> rpList = new List<RibbonPage>();
foreach (XmlNode xnRibbonPage in nodeList)
{
rpgList = new List<RibbonPageGroup>();
foreach (XmlNode xnRibbonPageGroup in xnRibbonPage.ChildNodes)
{
bbbiList = new List<BarButtonItem>();
foreach (XmlNode xnBarButtonItem in xnRibbonPageGroup.ChildNodes)
{
BarButtonItem bbbii = new BarButtonItem();
bbbii.Name = xnBarButtonItem.Attributes["Name"].Value;
bbbii.Caption = xnBarButtonItem.Attributes["Caption"].Value;
bbbii.Description = xnBarButtonItem.Attributes["NameSpace"].Value;
bbbii.ItemClick += new ItemClickEventHandler(BarButtonItem_ItemClick);
bbbiList.Add(bbbii);
}
RibbonPageGroup rpg = new RibbonPageGroup();
rpg.Text = xnRibbonPageGroup.Attributes["Text"].Value;
rpg.ShowCaptionButton = false;
rpg.ItemLinks.AddRange(bbbiList.ToArray());
rpgList.Add(rpg);
}
if (xnRibbonPage.Attributes["Text"].Value != "系统管理")
{
RibbonPage rp = new RibbonPage();
rp.Text = xnRibbonPage.Attributes["Text"].Value;
rp.MergedGroups.AddRange(rpgList.ToArray());
rpList.Add(rp);
}
else
{
rp1.MergedGroups.Add(rpgList[rpgList.Count - 1]);
rpList.Add(rp1);
}
}
if (rp1.MergedGroups.Count == 1)
rpList.Add(rp1);
ribbon.Pages.AddRange(rpList.ToArray());
ribbon.ItemsVertAlign = DevExpress.Utils.VertAlignment.Top;
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
accpchenjun
C# 111,129 成员 642,539 内容