通常情况下,如果我有一个可选参数的可为空类型,我会将null作为默认值。这样我就知道如果这个值为null,调用者不想为那个值指定任何值。什么应该是DateTime可选参数的默认值?
public void Foo(string text, string text2= null);
如果参数通常是一个正整数,我可以用一个负数
public void Foo(string text, int index=-1);
如何日期时间?它不是可空的,并且(据我所知)它没有一个无意义的数字,也不能是真正的输入(例如-1为正整数)。或者在那里?你会在这种情况下使用什么?
我也知道我可以使用可为空的DateTime
类型,但这意味着方法调用者将不得不使用Nullable以及相反方便地传递DateTime。
[C#4.0可以重复使用TimeSpan作为默认值的可选参数?](http://stackoverflow.com/questions/2168798/c-sharp-4-0-cani-i- use-a-timespan-as-an-optional-parameter-with-a-default-value) – nawfal