国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

c#通用遞歸生成無(wú)限層級(jí)樹

2019-11-14 13:41:37
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

NewsType結(jié)構(gòu):

Id

ParentId

Name

children(List<NewsType>)

 

public void LoopToAppendChildren(List<NewsType> all,  NewsType curItem){    var subItems = all.Where(ee => ee.ParentId==curItem.Id).ToList();     curItem.children = new List<NewsType>();    curItem.children.AddRange(subItems);    foreach (var subItem in subItems)    {        LoopToAppendChildren(all, subItem);//新聞1.1    }}

 

//通用 ParentId,Id,children 用了反射效率不高

public void LoopToAppendChildren<T>(List<T> all, T curItem, string parentIdName = "ParentId", string idName = "Id", string childrenName = "children")
{
  var subItems = all.Where(ee => ee.GetType().GetPRoperty(parentIdName).GetValue(ee, null).ToString() == curItem.GetType().GetProperty(idName).GetValue(curItem, null).ToString()).ToList(); //新聞1

  curItem.GetType().GetField(childrenName).SetValue(curItem, subItems);
  foreach (var subItem in subItems)
  {
    LoopToAppendChildren(all, subItem);//新聞1.1
  }
 }


調(diào)用:
//實(shí)例化一個(gè)根節(jié)點(diǎn)NewsType rootRoot = new NewsType();rootRoot.Id = 0;rootRoot.ParentId = 0; rootRoot.Name="根節(jié)點(diǎn)";LoopToAppendChildren(dc.NewsType.ToList(), rootRoot);

 

 

 

原文地址:http://www.survivalescaperooms.com/xuejianxiyang/p/5027280.html


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿瓦提县| 同仁县| 正阳县| 河北区| 稷山县| 安岳县| 江华| 娱乐| 卢湾区| 芦溪县| 临海市| 阿拉尔市| 定边县| 微山县| 图片| 垦利县| 韩城市| 林州市| 元朗区| 南靖县| 叶城县| 孟连| 页游| 轮台县| 衡山县| 广水市| 屯昌县| 武汉市| 喀喇| 南丰县| 故城县| 平凉市| 咸宁市| 寻甸| 鹰潭市| 青岛市| 沛县| 奉贤区| 湘阴县| 常德市| 沁源县|