泛型,其实就是之前c++里面所提到的模板吧?对吗?

2025-04-06 11:32:22
推荐回答(3个)
回答1:

泛型不是模板。c++中的模板是在编译的时候就进行字符串的替换,而c#中的泛型是在运行的时候才进行解释,两个的工作原理都是不同的。一个典型的差别:
c++中可以这样
template
class A
{
public:
A() { T* shit = new T("fdafdafdsa");}
};
void main() {}
在生成一个T的对象的时候不报错。同样形式的代码放在c#的泛型里面看看,显然不行。

可以多找些网上的内容看看。

回答2:

你可以将泛型编程理解成基于模板的编程。关键是类型参数化

回答3:

泛型是 2.0 版 C# 语言和公共语言运行库 (CLR) 中的一个新功能
JAVA里面也有泛型