我为我创建的基本树构建类编写了一个spike解决方案。
第一个“在{0}深度添加项目{0}”的输出是项目0深度0,而不是预期的0,1。
当我写这篇文章时,它只是打击了我。可能是因为我的堕落,即使我在开始时留出足够的记忆?
C#代码:
static void Main(string[] args)
{
object HeadNode = 0;
Console.WriteLine("Creating Head Node Filling Tree");
HeadNode = new Node(0, 1, HeadNode);
((Node)HeadNode).AddNode( HeadNode);
((Node)HeadNode).CountChildNodes();
Console.ReadKey();
}
public struct Node
{
List<Node> nodes;
int nCount;
int nDepth;
int nNoChildren;
object headNode;
public Node(int count, int depth, object head)
{
nodes = new List<Node>();
nNoChildren = 0;
nDepth = depth;
nCount = count;
headNode = head;
}
public int AddNode( object head)
{
while (nCount < 2 && nDepth < 3)
{
Console.WriteLine("Adding node to this object {0}", GetHashCode());
Console.WriteLine("Adding Item No {0} at the depth of {0}", nCount, nDepth);
nodes.Add(new Node(nodes.Count(), nDepth + 1, headNode));
nCount += 1;
nodes[nodes.Count() - 1].AddNode(headNode);
}
return -1;
}
答案 0 :(得分:1)
“第一个”在{0}深度添加项目{0}“的输出是项目0深度0,而不是预期的0,1。”
您打印两次相同的值({0}
在两个不同的位置),打印两个不同的值(0和1)的预期方式。
我想你想要这个:
Console.WriteLine("Adding Item No {0} at the depth of {1}", nCount, nDepth);
{0}
将替换为第二个参数(nCount
)中的值,而{1}
将替换为第三个参数(nDepth
)中的值。