3个回答
展开全部
即通过参数化类型来实现在同一份代码上操作多种数据类型。泛型是在C#2.0引入的。泛型(Genericity)的字面意思是指具有在多种数据类型上皆可操作的含意,与模板有些相似。泛型引入了类型参数化的概念,旨在实现定义的泛型类和方法将一个或多个类型的指定推迟到客户端代码声明并实例化该类或方法的时候。您可以编写其他客户端代码能够使用的单个类,而不致引入运行时强制转换或装箱操作的成本或风险。为了使用这些强有力的数据结构,你所要做的仅是提供数据类型。
C#泛型的几个特点:
(1)如果实例化泛型类型的参数相同,那么JIT编译器会重复使用该类型。
(2)C#的泛型类型可以应用于强大的反射技术。
(3)C#的性能高,我们知道ArrayList添加元素时都是object类型,如果添加一个值类型,就需要把它转换为引用类型,当取出这个元素的时候又要将其转换为值类型,这就需要装箱和拆箱的操作,性能降低。而泛型无需类型的转换操作。
(4)C#除可单独声明泛型类型(包括类与结构)外,也可在基类中包含泛型类型的声明。但基类如果是泛型类,它的类型参数要么已实例化,要么来源子类(同样是泛型类型)声明的类型参数。
C#泛型的几个特点:
(1)如果实例化泛型类型的参数相同,那么JIT编译器会重复使用该类型。
(2)C#的泛型类型可以应用于强大的反射技术。
(3)C#的性能高,我们知道ArrayList添加元素时都是object类型,如果添加一个值类型,就需要把它转换为引用类型,当取出这个元素的时候又要将其转换为值类型,这就需要装箱和拆箱的操作,性能降低。而泛型无需类型的转换操作。
(4)C#除可单独声明泛型类型(包括类与结构)外,也可在基类中包含泛型类型的声明。但基类如果是泛型类,它的类型参数要么已实例化,要么来源子类(同样是泛型类型)声明的类型参数。
2015-08-05 · 知道合伙人数码行家
关注
展开全部
泛型是 C# 2.0 的最强大的功能,通过泛型可以定义类型安全的数据结构,而无须使用实际的数据类型。这能够显著提高性能并得到更高质量的代码,因为可以重用数据处理算法,而无须复制类型特定的代码。在概念上,泛型类似于 C++ 模板,但是在实现和功能方面存在明显差异。本文讨论泛型处理的问题空间、它们的实现方式、该编程模型的好处,以及独特的创新(例如,约束、一般方法和委托以及一般继承)。同时还将了解到在 .NET Framework 的其他领域(例如,反射、数组、集合、序列化和远程处理)中如何利用泛型,以及如何在所提供的基本功能的基础上进行改进。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
泛型就是类型很泛,其实是定义了不同类型公有的一些操作,使用时实例化特定的类型都可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询