c# - 作为一名熟练的 c# 程序员,Java 类型参数推理规则中有哪些陷阱在等着我?

标签 c# java generics type-inference

或者换句话说

What are the main difference in type arguments inference for generic types between C# and Java?

我正在寻找一个熟练的 C# 开发人员可以在几分钟内阅读和理解的答案。

最佳答案

Java 和 C# 泛型之间的主要区别在于 Java 泛型由编译器强制执行,并在适当时插入所需的转换。字节码没有引用通用类型,这称为“type erasure” '.

在 C# 中,泛型存在于中间语言中,因此没有删除。因此,您可以使用反射来读取泛型类型参数。

请参阅此相关问题:

What are the differences between Generics in C# and Java... and Templates in C++?

关于c# - 作为一名熟练的 c# 程序员,Java 类型参数推理规则中有哪些陷阱在等着我?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6291566/

相关文章:

java - Struts2中使用复选框删除多行

集合中的 Java 泛型接口(interface)

c# - 如何在 Windows 窗体设计器中保存用户控件的结构属性?

c# - Audit.net Audit.MVC 输出到 json 而不是 json 文件

java - 如何创建不可变对象(immutable对象)?

c# - 指定接口(interface)只能由引用类型实现 C#

java - 列表中的通用可比对象出现问题

c# - 泛型和转换 - 不能将继承的类转换为基类

c# - 为什么 C# 中的命名空间允许循环依赖?

java - 在 Android 应用程序中为 Toast 编写 JUnit 测试