MVVPパターンとそれをWPFで実装する方法についての記事を読んでいます。ソースコードには、疑問符が何を表しているのかわからない行が複数あります。
private DateTime? _value;
?
定義の意味? VSのヘルプで見つけようとしましたが、失敗しました。
これはnull許容値です。構造体は、デフォルトではnull許容にすることはできず、値を持っている必要があるため、C#2.0では、Nullable<T>
型が.NETFrameworkに導入されました。
C#はNullable<T>
型を構文糖衣構文で実装します。これにより、型名の後に疑問符が付けられ、以前はnull許容ではなかった型がnull可能になります。
つまり、タイプは Nullable です。
nullにすることはできません
DateTime
DateTime dt = null; // Error: Cannot convert null to 'System.DateTime'
because it is a non-nullable value type
nullにすることができます
DateTime? / Nullable<DateTime>
DateTime? dt = null; // no problems
これはnull許容型であり、nullを割り当てることができます
これは、フィールドがNullable<DateTime>
、つまりnullになる可能性のあるDateTime
であることを意味します
プライベートDateTime? _value-_valueがnull許容であることを意味します。より良い説明については、このリンクをチェックしてください。
http://davidhayden.com/blog/dave/archive/2005/05/23/1047.aspx
お役に立てれば。
ありがとう、ラジャ