36 c# constructor constructor-chaining
在this关键字是冒号之前.任何人都可以解释结肠在这种情况下的含义吗?我不相信这是一种安慰.
谢谢
using System;
namespace LinkedListLibrary
{
class ListNode
{
private object data;
private ListNode next;
public ListNode(object dataValue)
: this(dataValue, null)
{
}
public ListNode(object dataValue, ListNode nextNode)
{
data = dataValue;
next = nextNode;
}
public ListNode Next
{
get
{
return next;
}
set
{
next = value;
}
}
public object Data
{
get
{
return data;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Jef*_*tes 53
它(以及this关键字)指示构造函数在它自己执行之前调用同一类型中的另一个构造函数.
因此:
public ListNode(object dataValue)
: this(dataValue, null)
{
}
Run Code Online (Sandbox Code Playgroud)
有效地变成:
public ListNode(object dataValue)
{
data = dataValue;
next = null;
}
Run Code Online (Sandbox Code Playgroud)
请注意,您可以使用base而不是this指示构造函数调用基类中的构造函数.
Qui*_*son 12
它是构造函数链接,因此具有后续: this调用的构造函数将链接到与签名匹配的ctor.
所以在这种情况下
public ListNode(object dataValue)
Run Code Online (Sandbox Code Playgroud)
正在打电话
public ListNode(object dataValue, ListNode nextNode)
Run Code Online (Sandbox Code Playgroud)
使用null作为第二个param via : this(dataValue, null)
值得注意的是,通过冒号调用的ctor在调用初始化对象的ctor之前执行.
| 归档时间: |
|
| 查看次数: |
19222 次 |
| 最近记录: |