В следующем примере кода печатает:Как точно работает ключевое слово «params»?
T
T[]
T[]
Хотя первые две строки, как и ожидалось, почему компилятор выбран массив парам для обычного массива?
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"});
}
}
Вы задайте много интересных вопросов. –