0

c#で変数をNullableとして宣言する方法はありますか?

struct MyStruct {        
    int _yer, _ner;

    public MyStruct() {

        _yer = Nullable<int>; //This does not work.
        _ner = 0;
    }
}
4

4 に答える 4

5

_yer は int として宣言する必要がありますか? または Nullable<int>。

    int? _yer;
    int _ner;

    public MyStruct(int? ver, int ner) {

        _yer = ver;
        _ner = ner;
    }
}

またはこのように:

    Nullable<int> _yer;
    int _ner;

    public MyStruct(Nullable<int> ver, int ner) {

        _yer = ver;
        _ner = ner;
    }
}

構造体に明示的なパラメーターなしのコンストラクターを含めることはできないことに注意してください。

error CS0568: Structs cannot contain explicit parameterless constructors
于 2008-10-15T11:02:50.733 に答える
1

次のように変数を宣言してみてください。

int? yer;
于 2008-10-15T11:02:21.607 に答える
0

null許容型はどうですか:

struct MyStruct
{
    private int? _yer, _ner;
    public MyStruct(int? yer, int? ner)
    {
        _yer = yer;
        _ner = ner;
    }
}
于 2008-10-15T11:02:31.547 に答える
0

_yer を標準の int としてではなく、最初に Nullable 型として宣言してみてください。

于 2008-10-15T11:02:41.967 に答える