例子:现有一个FactoryModel表,字段有Id(string),Name(string),Code(string),ParentId(string),Level(int),
public class FactoryModel
{
public string Id { get; set; }
public string Name { get; set; }
public string Code { get; set; }
public string ParentId { get; set; }
public int Level { get; set; }
}
现在用C#编写FactoryModel的树结构方法;
树形结构方法的示例:
public class FactoryModelTree
{
public FactoryModel Node { get; set; }
public List<FactoryModelTree> Children { get; set; }
}
public class FactoryModelHelper
{
public List<FactoryModelTree> BuildTree(List<FactoryModel> factoryModels, string parentId)
{
var treeNodes = new List<FactoryModelTree>();
foreach (var factoryModel in factoryModels.Where(x => x.ParentId == parentId))
{
var treeNode = new FactoryModelTree
{
Node = factoryModel,
Children = BuildTree(factoryModels, factoryModel.Id)
};
treeNodes.Add(treeNode);
}
return treeNodes;
}
}
上面的示例中,我们定义了一个FactoryModelTree类来表示树节点,其中包含了一个FactoryModel对象和一个子节点列表。然后我们使用FactoryModelHelper类的BuildTree方法来构建树形结构。这个方法接受一个FactoryModel列表和一个parentId作为参数,然后递归地构建树形结构。