4

DateTime?C#のaとa DateTime(疑問符なし)の違いは何ですか?

4

3 に答える 3

19

値の型の後の疑問符は、Nullable<T>構造の簡略表記です。

基になる型が参照型のように null を割り当てることもできる値型であるオブジェクトを表します。

このNullable<T>構造により、値型 ( 、 、 など) をラップDateTimeInt32Guid、特定の点で参照型のように扱うことができます。(代入、持ち上げられた演算子などの点で) 少し複雑になるため、Nullable 型 (C# プログラミング ガイド)とその関連記事を読むことをお勧めします。

Null 許容型は構造体のインスタンスです System.Nullable。null 許容型は、基になる値の型の通常の値の範囲に加えて、追加の null 値を表すことができます。たとえばNullable<Int32>、「Int32 の Nullable」と発音される には、-2147483648 ~ 2147483647 の任意の値を割り当てるか、null 値を割り当てることができます。ANullable<bool>には、値 true または false、または null を割り当てることができます。数値型およびブール型に null を割り当てる機能は、値が割り当てられない要素を含むデータベースやその他のデータ型を扱う場合に特に便利です。たとえば、データベースのブール型フィールドには、値 true または false を格納できます。また、値が未定義の場合もあります。

于 2009-07-28T11:17:38.533 に答える
17

DateTime?とは対照的に、null にすることができますDateTime

于 2009-07-28T11:16:21.187 に答える