C# 如何在C中初始化默认值?

C# 如何在C中初始化默认值?,c#,C#,我想为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 {g

我想为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;}


}
任何bool的默认值都是false,因此在这种情况下确实不需要执行任何操作

但是,如果希望将true作为默认值,则可以使用crossover的显式backing private字段并将其初始化为true:

任何bool的默认值都是false,因此在这种情况下确实不需要执行任何操作

但是,如果希望将true作为默认值,则可以使用crossover的显式backing private字段并将其初始化为true:


除了默认值为false之外,还有两个选项。显然,它们是多余的,但是如果您希望默认值为true,则可以使用任何一种方法

或者不使用自动实现的属性,而是使用支持属性

private bool _crossover = false;

public bool crossover 
{
 get { return _crossover; }
 set { _crossover = value; }
}
或在建造商内

public DecisionBar() 
{
 crossover = false;
}

除了默认值为false之外,还有两个选项。显然,它们是多余的,但是如果您希望默认值为true,则可以使用任何一种方法

或者不使用自动实现的属性,而是使用支持属性

private bool _crossover = false;

public bool crossover 
{
 get { return _crossover; }
 set { _crossover = value; }
}
或在建造商内

public DecisionBar() 
{
 crossover = false;
}

布尔值的默认值为false。我不知道你在这里是什么意思

如果要显式设置它。把这个放在课堂上

private bool _crossover = false;

public bool crossover 
{
    get
    {
        return _crossover;
    }
    set
    {
        _crossover = value;
    }
}

布尔值的默认值为false。我不知道你在这里是什么意思

如果要显式设置它。把这个放在课堂上

private bool _crossover = false;

public bool crossover 
{
    get
    {
        return _crossover;
    }
    set
    {
        _crossover = value;
    }
}
发件人:

事实的真相是错误的;布尔值的默认值?变量为空。使用新运算符调用默认构造函数,如下所示:

var decisionBar = new DecisionBar();
var myBool = decisionBar.crossover; // 'myBool' should be 'false'
上述声明与以下声明具有相同的效力:

var decisionBar = new DecisionBar();
decisionBar.crossover = false; 
见此帖:

来自:

事实的真相是错误的;布尔值的默认值?变量为空。使用新运算符调用默认构造函数,如下所示:

var decisionBar = new DecisionBar();
var myBool = decisionBar.crossover; // 'myBool' should be 'false'
上述声明与以下声明具有相同的效力:

var decisionBar = new DecisionBar();
decisionBar.crossover = false; 
见此帖:

取决于您想要实现的目标。你可以把它放到构造函数中,然后用这种方式初始化。但要设置值,必须始终实例化对象。你想达到什么目的?试着阅读有关构造函数的内容。public DecisionBar{crossover=false;}请看一看:crossover的默认值可能是重复的,crossover已经是false,这取决于您试图实现的目标。你可以把它放到构造函数中,然后用这种方式初始化。但要设置值,必须始终实例化对象。你想达到什么目的?试着阅读有关构造函数的内容。public DecisionBar{crossover=false;}请看一看:crossover的默认值可能已经是false了