C# 不用递归,获取无限层级数据
- 作者: 五速梦信息网
- 时间: 2026年04月04日 13:49
对象属性
public class ResList
{
public int ID { get; set; }
public List<ResList> Child { get; set; } = null;
public int Parent { get; set; }
public int Rank { get; set; }
}
数据就是那种有父级ID的那种
List<ResList> reslist = new List<ResList>();//新的数据
List<ResList> alllist = new List<ResList>();//原始数据
//加载原始数据
for (int i = ; i < ; i++)
{
int j = ;
while (Math.Pow(, j) <= i)
{
j++;
} alllist.Add(new ResList() { ID = i, Parent = i / , Rank = j });
}
//加载原始数据完成 //下面是处理方法
Dictionary<int, ResList> dic = new Dictionary<int, ResList>(); foreach (ResList res in alllist)
{
dic.Add(res.ID, res); }
foreach (ResList res in dic.Values)
{
if (dic.ContainsKey(res.Parent))
{
if (dic[res.Parent].Child == null)
{
dic[res.Parent].Child = new List<ResList>();
}
dic[res.Parent].Child.Add(res);
}
}
//得到最终的数据List
reslist = dic.Values.Where(t => t.Parent == ).ToList();
该方法来源 https://blog.csdn.net/u010162297/article/details/53019101
相关文章
-
C# 使用SqlDataAdapter和DataSet来访问数据库
C# 使用SqlDataAdapter和DataSet来访问数据库
- 互联网
- 2026年04月04日
-
C# .NET 获取枚举值的自定义属性(特性注释备注)信息
C# .NET 获取枚举值的自定义属性(特性注释备注)信息
- 互联网
- 2026年04月04日
-
C# .NET 获取枚举值的自定义属性
C# .NET 获取枚举值的自定义属性
- 互联网
- 2026年04月04日
-
C# Emit动态生成代码
C# Emit动态生成代码
- 互联网
- 2026年04月04日
-
C# App.config配置文件的讲解
C# App.config配置文件的讲解
- 互联网
- 2026年04月04日
-
C 语言中可以调用命令行指令的 system()函数
C 语言中可以调用命令行指令的 system()函数
- 互联网
- 2026年04月04日






