c#で変数をNullableとして宣言する方法はありますか?
struct MyStruct {
int _yer, _ner;
public MyStruct() {
_yer = Nullable<int>; //This does not work.
_ner = 0;
}
}
_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
次のように変数を宣言してみてください。
int? yer;
null許容型はどうですか:
struct MyStruct
{
private int? _yer, _ner;
public MyStruct(int? yer, int? ner)
{
_yer = yer;
_ner = ner;
}
}
_yer を標準の int としてではなく、最初に Nullable 型として宣言してみてください。