結論からいうと、日付型の初期値には01/01/0001 00:00:00が入るため、DateTime.MinValueと比較するのがスマートです。
代表的な変数とその初期値
以下の記事から引用させていただきました。
| 型 | 初期値 |
|---|---|
| String | 空文字列("") |
| Int32 | 0 (ゼロ) |
| Boolean | false |
| DateTime | 01/01/0001 00:00:00 |
これらの型の変数は初期値にNull(Nothing)ではなく値が設定されますので、is Nothingで初期値かどうかを比較することはできません。(String型だけは例外的に可能ですが…)
ですので、それぞれの型で初期値かどうか判定するには、String型であればString.Emptyか""、Int32型などの数字型であれば0と比較して判断する必要があります。
日付型の場合、日付型に設定される最小の値である01/01/0001 00:00:00が初期値として設定されますが、01/01/0001 00:00:00はDateTime.MinValueで取得できる値と同じです。タイポや可読性を考えると、日付型の変数が初期値かどうか判定する際はDateTime.MinValueと比較するのがスマートでしょう。
参考
動作環境
UiPath.System.Activities 24.10.7