我希望crossover
的布尔false
具有默认值
我该如何初始化它?
public class DecisionBar
{
public DateTime bartime
{ get; set; }
public string frequency
{ get; set; }
public bool HH7
{get;set;}
public bool crossover
{get;set;}
public double mfe
{get;set;}
public double mae
{get;set;}
public double entryPointLong
{get;set;}
public double entryPointShort
{get;set;}
}
答案 0 :(得分:3)
除了默认值为false之外,还有两个选项。显然它们是多余的,但是如果你想将默认值设置为true,你可以使用任何一种方法。
要么不使用自动实现的属性,而是使用支持属性;
private bool _crossover = false;
public bool crossover
{
get { return _crossover; }
set { _crossover = value; }
}
或在构造函数中;
public DecisionBar()
{
crossover = false;
}
答案 1 :(得分:1)
任何bool
的默认值都是false
,所以在这种情况下你真的不需要做任何事情。
但是,如果您希望true
成为默认值,则可以使用crossover
的明确支持私有字段并将其初始化为true
:
private bool _co = true;
public bool crossover
{
get { return _co; }
set { _co = value; }
}
答案 2 :(得分:0)
布尔值的默认值为false
。我不确定你的意思。
如果要明确设置它。把它放在课堂上。
private bool _crossover = false;
public bool crossover
{
get
{
return _crossover;
}
set
{
_crossover = value;
}
}
答案 3 :(得分:0)
private bool _crossover = false;//or true
public bool Crossover {get {return _crossover;}set{_crossover =value;}}
答案 4 :(得分:0)
:
The default value的{p>bool
为false
; bool?
变量的默认值为null
。使用new运算符调用默认构造函数,如下所示:
var decisionBar = new DecisionBar();
var myBool = decisionBar.crossover; // 'myBool' should be 'false'
上述语句与以下语句具有相同的效果:
var decisionBar = new DecisionBar();
decisionBar.crossover = false;