List.Last()和List.Last <T>()之间是否有任何显着差异?

Ed *_*ess 1 c# linq generics

给出一个矩形列表,

var myList = new List<Rectangle>();
Run Code Online (Sandbox Code Playgroud)

我不能在此列表中添加除矩形之外的任何内容,因此哪些因素会让我更喜欢

Rectangle lastRect = myList.Last<Rectangle>();
Run Code Online (Sandbox Code Playgroud)

简单地说

Rectangle lastRect = myList.Last();
Run Code Online (Sandbox Code Playgroud)

Rub*_*bys 5

这些完全一样.
问题是,如果可能的话,编译器使用类型推断来理解类型是什么.
它看到你在泛型类型上使用泛型函数,并尝试在它们之间进行匹配.它有效.

简答:这些是相同的,但编译器<Rectangle>使用类型推断为您添加.