私はC#で新しいです。 C#では構造体の値をnullに設定できませんnull値をサポートする構造体を作成するにはどうすればよいですか?null値をサポートする構造体を作成するにはどうすればよいですか?
答えて
構造体と値の種類は、それをラップするために、汎用のNullable <>クラスを使用して、NULL値可能行うことができます。例えば:
Nullable<int> num1 = null;
C#は型の後に疑問符を追加することで、このための言語機能を提供します。
int? num1 = null;
同じことが、構造体を含む任意の値タイプのために働く必要があります。
MSDNの説明:Nullable Types (c#)
あなたは構造体用Nullable<T>
、または速記フォームを使用することができ、同一の(?):
は、その基礎となる タイプも が参照型のようなヌル割り当て可能な値型であるオブジェクトを表し。
struct Foo
{
}
Nullable<Foo> foo2 = null;
Foo? foo = null; //equivalent shorthand form
あなたは、C#での別名を持つNullable<T>
を使用することができます。構造体自体は実際にはnullではないことに留意してください(コンパイラはヌルを別々に扱います)。それはOption typeの詳細です。
Struct? value = null;
として@CodeInChaosは、非ヌル状態にあるときNullable<T>
のみ箱詰めさ言及しています。
'Nullable
「構造体」は、参照型ではないので、あなたが通常の方法として「ヌル」を割り当てることができません。そのため、次の形式を使用して「nullable」にする必要があります。
[構造名]? [変数名] = null
例:
Color? color = null;
この場合、オブジェクトにnullを割り当て、条件文を使用してNULL可能性をチェックすることもできます。
- 1. 構造体へのポインタとして構造体をマーシャリングするにはどうすればよいですか?
- 2. 参照ベクトルを使用して構造体を作成するにはどうすればよいですか?
- 3. ClojureでCスタイルの構造体を作成するにはどうすればよいですか?
- 4. Javaの構造体のような構造体を作成する
- 5. 設定のようなナビゲーション構造を作成するにはどうすればよいですか?
- 6. C++できれいなカスケード構造を作成するにはどうすればよいですか?
- 7. アラビア語をサポートするようにOC4Jを構成するにはどうすればよいですか。
- 8. MATLABの構造体に構造体を作成するには? Cコードで
- 9. 角2ネストされた構造を作成するにはどうすればよいですか?
- 10. Goでは、構造体をバイト配列に変換するにはどうすればよいですか?
- 11. このデータ構造からグラフを作成するにはどうすればよいですか?
- 12. C:構造体の深いコピーを作成する...構造体の浅いコピーを作成する
- 13. RでWindowsエクスプローラと同様のディレクトリ構造を作成するにはどうすればよいですか?
- 14. Javaでリンクリストデータ構造を作成するにはどうすればよいですか?
- 15. Android NDKでメンバ関数を持つ構造体をコンパイルするにはどうすればよいですか?
- 16. C++で効率的に4つの構造体をソートするにはどうすればよいですか?
- 17. C++では、ヘッダーを含めずに構造体を認識するためのクラスを作成するにはどうすればよいですか?
- 18. LLVM構造体の値を作成する方法は?
- 19. C#で埋め込み構造体を宣言するにはどうすればよいでしょうか?
- 20. 偽のディレクトリ構造を作成して使用するにはどうすればよいですか?
- 21. Cでどのように構造体の配列を作成しますか?
- 22. 構造体を指定されたバイト境界に揃えるにはどうすればよいですか?
- 23. 特定のメモリ位置から構造体を取得するにはどうすればよいですか?
- 24. HFONTハンドルからLOGFONT構造体を取得するにはどうすればよいですか?
- 25. 'pickle'で 'namedtuple'構造体を使用するにはどうすればよいですか?
- 26. フィールドの1つで構造体のリンクリストをソートするにはどうすればよいですか?
- 27. クラス内で構造体を宣言するにはどうすればよいですか?
- 28. C#でDLLImportを構造体のパラメータとして使用するにはどうすればよいですか?
- 29. 構造体マップでプロパティインジェクションを設定するにはどうすればよいですか?
- 30. 構造体の配列をPoint3Dの配列に変換するにはどうすればよいですか?
最初は構造体を使用するべきではありません。 – SLaks
代わりに、これをクラスとして定義することはできない魅力的な理由はありますか? – juharr