Das folgende Codebeispiel wird gedruckt:
T
T[]
T[]
Während die ersten beiden Zeilen sind wie erwartet, warum Compiler ausgewählt param Array für eine regelmäßige Array?
public class A
{
public void Print<T>(T t)
{
Console.WriteLine("T");
}
public void Print<T>(params T[] t)
{
Console.WriteLine("T[]");
}
}
class Program
{
static void Main(string[] args)
{
A a = new A();
a.Print("string");
a.Print("string","string");
a.Print(new string[] {"a","b"});
}
}