創建在區域模型
public void PrintPretty(string indent, bool last)
{
Console.Write(indent);
if (last)
{
Console.Write("|-");
indent += " ";
}
else
{
Console.Write("|-");
indent += "| ";
}
Console.WriteLine(Name);
for (int i = 0; i < Children.Count; i++)
Children[i].PrintPretty(indent, i == Children.Count - 1);
}
然後重命名區模型類中的方法來副區域
public class childzones
{
public string model_zone_id { get; set; }
public string model_zone_name { get; set; }
public string model_zone_parent_id { get; set; }
}
因爲類名不應當等於用於產生treeNode節點。
您可以使用同一個區級這樣
public class Zones
{
public Zones()
{
Children = new List<Zones>();
}
public string Id { get; set; }
public string Name { get; set; }
public List<Zones> Children { get; set; }
public void PrintPretty(string indent, bool last)
{
Console.Write(indent);
if (last)
{
Console.Write("|-");
indent += " ";
}
else
{
Console.Write("|-");
indent += "| ";
}
Console.WriteLine(Name);
for (int i = 0; i < Children.Count; i++)
Children[i].PrintPretty(indent, i == Children.Count - 1);
}
}
最後你會得到一個模型這樣
static void Main(string[] args)
{
Zones node1 = new Zones()
{
Name = "Root",
Id = "1",
Children = {
new Zones() {
Name = "BranchA",
Id = "1",
Children = {
new Zones() {
Name = "Siblings1",
Id = "1",
Children = {
new Zones() {
Name = "subChild1",
Id = "1",
Children = {
}
},
new Zones() {
Name = "subchild2",
Id = "1",
Children= {
}
}
}
},
new Zones() {
Name = "Siblings2",
Id = "1",
Children = {
}
}
}
},
new Zones() {
Name = "BranchB",
Id = "1",
Children = {
new Zones() {
Name = "Sibilings1",
Id = "1",
Children = {
}
}
}
}
}
};
node1.PrintPretty("", true);
}
輸出
|-Root
|-BranchA
| |-Siblings1
| | |-subChild1
| | |-subchild2
| |-Siblings2
|-BranchB
|-Sibilings1