前几天我注意到这一点,说你有两个重载方法:
public void Print<T>(IEnumerable<T> items) {
Console.WriteLine("IEnumerable T");
}
public void Print<T>(T item) {
Console.WriteLine("Single T");
}
Run Code Online (Sandbox Code Playgroud)
这段代码:
public void TestMethod() {
var persons = new[] {
new Person { Name = "Yan", Age = 28 },
new Person { Name = "Yinan", Age = 28 }
};
Print(persons);
Print(persons.ToList());
}
Run Code Online (Sandbox Code Playgroud)
打印:
Single T
Single T
Run Code Online (Sandbox Code Playgroud)
在这些情况下,为什么Person[]和他们相比List<Person>更好?TIEnumerable<T>
谢谢,
更新: 此外,如果你有另一个重载
public void Print<T>(List<T> items) {
Console.WriteLine("List T");
}
Run Code Online (Sandbox Code Playgroud)
Print(persons.ToList());实际上会打印List T而不是Single …