public static void Main()
Console.WriteLine(Get(null, null));
Console.WriteLine(Get(1, null));
Console.WriteLine(Get(null, 2));
Console.WriteLine(Get(1, 2));
private static string Get(int? limit, int? offset)
private static string GetDefault(int limit = 20, int offset = 0)
return $"Limit: {limit}. Offset: {offset}";
private static string GetDefaultNullable(int? limit = 20, int? offset = 0)
return $"Limit: {limit}. Offset: {offset}";
private static string GetOverloadable()
return $"Limit: none. Offset: none";
private static string GetOverloadable(int limit)
return $"Limit: {limit}. Offset: none";
private static string GetOverloadable(int limit, int offset)
return $"Limit: {limit}. Offset: {offset}";