1

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;}


}
4

5 に答える 5

3

デフォルト値が false であるという事実とは別に、2 つのオプションがあります。明らかにそれらは冗長ですが、デフォルト値を true にしたい場合は、どちらの方法も使用できます。

バッキング プロパティを使用する代わりに、自動実装プロパティを使用しないでください。

private bool _crossover = false;

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

またはコンストラクターで。

public DecisionBar() 
{
 crossover = false;
}
于 2012-07-23T10:49:16.040 に答える
1

any のデフォルト値は でboolあるfalseため、この場合は何もする必要はありません。

ただし、trueデフォルト値にしたい場合は、明示的なバッキングプライベートフィールドをcrossover持ち、それを初期化することができますtrue:

private bool _co = true;
public bool crossover
{
   get { return _co; }
   set { _co = value; }
}
于 2012-07-23T10:47:54.263 に答える
0

ブール値のデフォルト値は ですfalse。ここで何を意味するのかわかりません。

明示的に設定したい場合。これをクラスに入れてください。

private bool _crossover = false;

public bool crossover 
{
    get
    {
        return _crossover;
    }
    set
    {
        _crossover = value;
    }
}
于 2012-07-23T10:49:33.280 に答える
0
private bool _crossover = false;//or true
public bool Crossover {get {return _crossover;}set{_crossover =value;}}
于 2012-07-23T10:49:53.663 に答える
0

MSDNから:

のデフォルトbool値はfalse; bool?変数のデフォルト値は ですnull。既定のコンストラクターは、次のように new 演算子を使用して呼び出されます。

var decisionBar = new DecisionBar();
var myBool = decisionBar.crossover; // 'myBool' should be 'false'

前のステートメントは、次のステートメントと同じ効果があります。

var decisionBar = new DecisionBar();
decisionBar.crossover = false; 

この投稿を参照してください: C# 自動プロパティに既定値を与えるにはどうすればよいですか?

于 2012-07-23T11:00:25.790 に答える