Eu estava navegando na documentação e percebi que o Console.WriteLine()método tinha várias sobrecargas. Particularmente, minha curiosidade e confusão parcial se referem a estes:
public static void WriteLine(string format, params object[] arg);
public static void WriteLine(string format, object arg0);
public static void WriteLine(string format, object arg0, object arg1);
public static void WriteLine(string format, object arg0, object arg1, object arg2);
public static void WriteLine(string format, object arg0, object arg1, object arg2, object arg3);
Parece redundante. Qual é a necessidade das outras quatro sobrecargas em cima da primeira? O primeiro método é capaz de fazer tudo o que os outros métodos podem fazer. Existe uma preocupação de desempenho que eles estavam tentando resolver fornecendo sobrecargas adicionais, que lidam com até quatro argumentos (o último)? A sobrecarga de passar por uma matriz de até quatro argumentos é grande o suficiente para fornecer a necessidade dessas sobrecargas?