c# Как записать опциональный параметр int?

Нужно сделать int опциональным параметром. Как это сделать? int не должен быть даже нулём.

public string OptionalMethod(string s = "", int i = /*???*/ ) {}

Ответы (1 шт):

Автор решения: asukharev

Есть вариант использования Nullable values

https://docs.microsoft.com/ru-ru/dotnet/csharp/language-reference/builtin-types/nullable-value-types

GetFooBar(int? a, int? b) или GetFooBar(int? a, Nullable<int> b)

далее, в теле функции можно проверить

a.HasValue

public string OptionalMethod(string s = "", int? i) {
  if (i.HasValue)
    DoSomething();
}
→ Ссылка