リストがあります:
List<int, SomeStruct>
何らかの理由で、null値を割り当てることができません。構造体を関連付けたくない場合はどうすればよいですか?
null許容型 を使用:
List<int, SomeStruct?>
構造体は値型なので、null
をリストの要素に割り当てることはできませんが、null
は空のポインターを意味するため、参照型の変数にのみ割り当てることができます。
また、List
を使用しているため、.NETには存在しません。たぶん Dictionary
?
C#では、構造体は「値の型」であり、nullにすることはできません。
これを本当にnullにする必要がある場合は、末尾に疑問符を追加して、null許容型にしてください。
ただし、おそらく最初にこれの詳細を検討する必要があります。「構造体」をまったく必要としない可能性が非常に高いですが、「クラス」の方が適しています。
カスタムのジェネリックコレクションを定義していない限り、_List<T, U>
_は _System.Collections.Generic
_ 名前空間に存在しません。むしろ_Dictionary<TKey, TValue>
_ですか?
Nullableタイプを使用できます: Using Nullable Types (C# Programming Guide)
。
ValueTypeについては、タイプにnull値を許可することを明示的に指定する必要があります。これを行うには、 '_?
_'文字をタイプ名と連結するか、Nullableとしてマークします(Tは構造体の名前です)。