【发布时间】:2018-01-25 20:18:46
【问题描述】:
我正在查看树结构,并找到了一个构造函数 (在 Tree 类中)如下所示:
public Tree(T value, params Tree<T>[] children)
: this(value)
{
foreach (Tree<T> child in children)
{
this.root.AddChild(child.root);
}
}
谁能给我解释一下“:this(value)”是什么意思?
【问题讨论】:
-
这是对
Tree的构造函数重载 的调用,它只接受value作为参数。 -
谢谢先生。现在我记得我已经看过了,我会再读一遍。很抱歉浪费了你的时间。
-
一般来说,
this指的是你当前所在的同一个班级。你看不到很多,因为它是隐含的......例如你看不到 person 类中的方法说this.Name = "Nikolai",因为Name = "Nikolai"就可以了。方法也一样:当你的类中的一个方法想要调用同一个类中的另一个方法时,它可能会说this.DoSomething(),但你更有可能简单地写DoSomething().. 那么为什么将它与构造函数一起使用呢?好吧..没有任何方法可以通过名称引用构造函数,因为它们没有方法或属性具有名称的相同方式,因此.. -
..约定是使用
this(arguments to constructor here)
标签: c# constructor tree this