struct AccountInfo
{
String Username;
String Password;
}
Nullable
インスタンスが必要な場合は、次のように記述します。
Nullable<AccountInfo> myAccount = null;
しかし、私は本質的にstruct
Nullable
を作成し、このように使用できます(Nullable<T>
):
AccountInfo myAccount = null;
できません。構造体は値の型と見なされ、定義上、nullにすることはできません。 nullable
にする最も簡単な方法は、参照型にすることです。
自問する必要がある答えは、「なぜこれが構造体なのか?」です。そして、あなたが本当に堅実な理由を考えることができない限り、しないで、それをクラスにします。構造体がスタック上に作成されるとは限らないため(これに依存するべきではない)、構造体が「高速」であるという議論は本当に誇張されており、「獲得される」速度はケースごとに異なります。
クラスと構造体の議論と速度に関するEric Lippertの post を参照してください。
宣言するときは、「?」で宣言します。好めば
AccountInfo? myAccount = null;
簡単な答え:クラスにします。
長い答え:この構造体は可変であり、構造体は決してあるべきではなく、構造体が常にすべき単一の値を表しておらず、構造体も常にすべき賢明な「ゼロ」値を持たないので、おそらく値型ではないはずです。クラス(参照型)にすると、常にnullになる可能性があります。
注:「never」や「always」などの単語の使用は、暗黙の「ほぼ」を使用して行う必要があります。