我有以下课程:
public class Topic
{
public string Topic { get; set; }
public string Description { get; set; }
public int Count { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想在使用以下内容创建类时始终将Count设置为零:
var abc = new Topic {
Topic = "test1",
Description = "description1"
}
Run Code Online (Sandbox Code Playgroud)
我对构造函数有点困惑.这是可能的,还是在创建abc时需要指定主题,描述和计数?
Bal*_*a R 11
你有几个不同的选择.
1)int默认为零,因此如果你不初始化它将为零.
2)您可以使用构造函数
public Topic(){ Count = 0;}
Run Code Online (Sandbox Code Playgroud)
3)您可以使用支持字段而不是auto-property并将其初始化为零
private int _count = 0;
public int Count {
get {return _count}
set {_count = value; }
}
Run Code Online (Sandbox Code Playgroud)
以下习语不仅是构造函数:
var abc = new Topic {
Topic = "test1",
Description = "description1"
}
Run Code Online (Sandbox Code Playgroud)
它是一个构造函数和一个对象初始值设定项。
真正发生的是new Topic()首先调用它,因此将所有值初始化为其默认值(属性 Topic 为 null,Description 为 null,Count 为 0)。之后,将值“test1”分配给Topic,将值“description1”分配给Description。
所有值类型都有一个不同于 null 的默认值(因为它们不能为 null),并且引用类型默认为 null。
| 归档时间: |
|
| 查看次数: |
6022 次 |
| 最近记录: |