231

これらのいずれかを選択する理由はありますか?

DateTime myDate = new DateTime();

また

DateTime myDate = default(DateTime);

どちらも同じ1/1/0001 12:00:00 AMです。

4

4 に答える 4

233

いいえ、同じです。

default()、任意の値型(DateTime値型)の場合、常にパラメーターなしのコンストラクターを呼び出します。

于 2012-12-19T17:20:45.837 に答える
25

メソッドの DateTime パラメータにデフォルト値を使用する場合は、default(DateTime) しか使用できません。

次の行はコンパイルされません。

    private void MyMethod(DateTime syncedTime = DateTime.MinValue)

この行はコンパイルされます:

    private void MyMethod(DateTime syncedTime = default(DateTime))
于 2015-11-17T08:28:35.567 に答える
-4

それを理解する最も簡単な方法は、DateTime が構造体であることです。構造体を初期化すると、最小値に初期化されます。DateTime.Min

したがって、との間default(DateTime)に違いはありませんnew DateTime()DateTime.Min

于 2019-02-27T15:50:37.470 に答える