Normalmente, se ho un tipo nullable per un parametro opzionale, inserisco null come valore predefinito. In questo modo so che se il valore è nullo, il chiamante non vuole specificare alcun valore per quello.Quale dovrebbe essere il valore predefinito in un parametro opzionale DateTime?
public void Foo(string text, string text2= null);
Se il parametro è normalmente un numero intero positivo, posso usare un numero negativo
public void Foo(string text, int index=-1);
Come su DateTime? Non è annullabile e (per quanto ne so) non ha un numero senza significato che non può essere un input vero neanche (come -1 per numero intero positivo). O c'è? Cosa useresti in questa situazione?
So anche che posso usare il tipo nullable DateTime
, ma questo significa che il chiamante del metodo dovrà usare Nullable e non solo per passare semplicemente un DateTime.
possibile duplicato di [C# 4.0: Posso utilizzare un TimeSpan come parametro facoltativo con un valore predefinito?] (Http://stackoverflow.com/questions/2168798/c-sharp-4-0-can-i- use-a-timespan-as-an-optional-parametro-con-un-valore-predefinito) – nawfal