27

私はアプリケーションを作成しています。ここでは、ブール型のプロパティが非常に多く定義されています。

    private bool kajmak = true;
    public bool Kajmak
    {
        get { return kajmak ; }
        set { kajmak = value; FirePropertyChanged(() => Kajmak); }
    }

ご覧のとおり、最初に設定kajmaktrueました..-理由は関係ありません-。( bool 変数のデフォルト値がfalseであることはご存知かもしれません)。

さて、 a のデフォルト値を に変更する方法はありますbooltrue? だから私は書くだろう:

private bool kajmak; //kajmak = true

それ以外の

private bool kajmak = true;

これを達成するために何ができますか?

4

7 に答える 7

26

ブール値はデフォルトでfalseであるため、名前には正の形式を使用します。たとえば、明示的IsInitializedHasSomething設定するまではデフォルトでfalseにします。

デフォルトでtrueにする必要がある場合は、変数の名前を変更して、デフォルトがfalseの場合に意味をなすようにする必要があります。

于 2012-11-09T15:01:57.447 に答える
4

いいえ。.NETによって割り当てられたデフォルト値を変更する方法はありません。最善の策は、プライベートメンバーに適切なデフォルトを割り当てることです。

private book kajmak = false;

または、想定どおりにコンストラクターを使用して、クラスのデフォルトをそこに割り当てます。

public class SomeClass
{
    public SomeClass()
    {
        Kajmak = false;
    }

    public book Kajmak { get; set; }
}
于 2012-11-09T15:01:13.203 に答える
0

いいえ、デフォルト値を変更することはできません。default-valueを変更できれば、それはもはやデフォルトではなくなります;)。

ただし、default-valueをnullに設定するには、次のように使用できます。

bool? kajmak;

しかし、それはあなたが望むものではありません...

于 2012-11-09T15:01:11.663 に答える
0

似たようなことをしようとしている過程で、同僚が私に愚かなことを教えてくれましたか? タイプ。true、false、または null にすることができ、そのようなコンパレーターの左側にあることに反対しません。これは、bool を true にデフォルト設定する方法に関する質問には答えませんが、変数をデフォルトで true として定義可能にするという概念上の問題を解決します。

これが検索結果のトップだったので投稿するだけで、この情報は役に立ちました。うまくいけば、このページを見つけた他の人にも届きます。

于 2015-10-29T22:21:48.483 に答える
-2

デフォルトがfalseのクラスmyBoolを作成し、boolからクラスへの暗黙的な変換を行うことができます。

于 2012-11-09T15:05:43.550 に答える