c# - List.Last() 和 List.Last<T>() 之间有什么显着区别吗?

标签 c# linq generics

给定一个矩形列表,

var myList = new List<Rectangle>();

除了矩形我不能添加任何东西到这个列表,那么什么因素会让我更喜欢

Rectangle lastRect = myList.Last<Rectangle>();

简单的

Rectangle lastRect = myList.Last();

最佳答案

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

简短回答:它们是相同的,但编译器添加了 <Rectangle>对你来说,使用类型推断。

关于c# - List.Last() 和 List.Last<T>() 之间有什么显着区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2779634/

相关文章:

c# - Visual Studio 2013 Express IDE 中的折叠大括号

c# - 将一个集合分组并从每组中取出前 5 个

c# - Entity Framework Core 3.1 - 有关命令和事务的日志信息

c# - LinQ 如何将 1 之类的整数更改为字符串 001

Python 键入 : how to get Type[C] to work with TypeVars and Generics?

c# - 迁移到.Net时如何避免从头开始重写VB6

linq - 从枚举填充字典

linq - 在 IList 或 IQueryable 中搜索对象

Java 接受任何子类型作为参数

c# - 要求通用方法在 FAIL 时抛出特定的异常类型