これらのいずれかを選択する理由はありますか?
DateTime myDate = new DateTime();
また
DateTime myDate = default(DateTime);
どちらも同じ1/1/0001 12:00:00 AM
です。
いいえ、同じです。
default()
、任意の値型(DateTime
値型)の場合、常にパラメーターなしのコンストラクターを呼び出します。
メソッドの DateTime パラメータにデフォルト値を使用する場合は、default(DateTime) しか使用できません。
次の行はコンパイルされません。
private void MyMethod(DateTime syncedTime = DateTime.MinValue)
この行はコンパイルされます:
private void MyMethod(DateTime syncedTime = default(DateTime))
それを理解する最も簡単な方法は、DateTime が構造体であることです。構造体を初期化すると、最小値に初期化されます。DateTime.Min
したがって、との間default(DateTime)
に違いはありませんnew DateTime()
DateTime.Min