国产探花免费观看_亚洲丰满少妇自慰呻吟_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://m.survivalescaperooms.com/xuejianxiyang/p/5027280.html


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 奉节县| 盐津县| 休宁县| 新密市| 太白县| 忻州市| 福泉市| 万州区| 隆德县| 离岛区| 化隆| 二连浩特市| 绥德县| 调兵山市| 子长县| 绍兴县| 莱芜市| 景洪市| 华容县| 邯郸市| 郴州市| 忻州市| 台安县| 鲁山县| 台州市| 上林县| 牡丹江市| 谢通门县| 桃园市| 岑溪市| 揭东县| 南安市| 朔州市| 安新县| 昌都县| 无锡市| 济南市| 东兰县| 凉城县| 滦南县| 舟曲县|