Если можно использовать значение по умолчанию для нулевого параметра, и если значение по умолчанию четко задокументировано, то, возможно, стоит рассмотреть этот вариант.
Однако вы всегда должны проверять любыепараметры в публичном методе.Не доверяйте другим разработчикам знать, что они делают.Любые исключения, выданные в результате неверного аргумента, должны наследоваться от ArgumentException
класса.