泛型方法 为什么要使用泛型?使用泛型有什么作用?
为什么要使用泛型?使用泛型有什么作用?
泛型的功能是提高代码的可重用性。你一定知道函数重载,但是重载太麻烦了。要编写如此多的重复代码,泛型可以避免强制类型转换、减少装箱、提高性能和减少错误
所有泛型方法声明都有一个类型参数声明部分(用尖括号分隔),位于方法的返回类型之前(在下面的示例中,<E>)。
每个类型参数声明部分包含一个或多个由逗号分隔的类型参数。泛型参数(也称为类型变量)是用于指定泛型类型名称的标识符。
类型参数可用于声明返回值类型,并可用作通过泛型方法获得的实际参数类型的占位符。
泛型方法的主体声明与任何其他方法一样。注意,类型参数只能表示引用类型,不能表示基元类型(如int、double、char等)。
泛型方法?
泛型实际上有一个流行的名称:参数化类型(使用参数指示要传递的类型)。
它明确指定运行时集合中对象的类型。
如果没有泛型,那么我的所有对象都将通过直接使用object和cast来解决,不是吗?但是,这个方法有一个问题,即在运行时可以随处看到cast异常ClassCastException。
如果指定了参数化类型,我们将在编译时检查它。如果传入列表类型,则只能将字符串放入列表中。如果添加其他类型,编译将不会通过,更不用说运行时检查了。
。
。
所以当你说泛型是参数化的,如果你不理解它们,那就结束了
泛型。也就是说,通过参数化类型,可以在同一代码上操作多个数据类型。泛型是在C#2.0中引入的。泛型的字面含义是它可以对多种数据类型进行操作,这类似于模板。优点:泛型类和泛型方法具有非泛型类和非泛型方法所不具备的可重用性、类型安全性和效率。泛型通常与集合和作用于它们的方法一起使用。泛型是C#2.0的一个新特性,它提高了使用C#语言编写面向对象程序的效率和灵活性。它不强制值类型的装箱和拆箱,也不强制引用类型的类型转换,因此性能得到了提高。泛型编程允许您编写完全通用和可重用的算法,其效率与为特定数据类型设计的算法相同。STL是泛型编程的代表作,是一种高效、通用、可互操作的软件构件。所谓泛化是指它可以对多种数据类型进行操作,这与模板类似。STL是巨大的,可以扩展。它包含了许多计算机的基本算法和数据结构,并将算法与数据结构完全分离。该算法是通用的,不与任何特定的数据结构或对象类型相关联。STL是一个基于迭代器和容器的通用算法库。容器的存在使得这些算法具有可操作性。STL包括各种通用算法、迭代器、容器和函数对象。STL不仅仅是有用组件的集合,它是一种形式化的、有组织的体系结构,用来描述软件组件的抽象需求。
List集合使用泛型与不使用泛型有什么区别?
通用是C#2.0和通用语言运行时(CLR)的新功能。泛型将类型参数的概念引入到。Net框架。类型参数使得在设计类和方法时不必确定一个或多个特定参数,并且它们的特定参数可以延迟到在客户代码中声明和实现。这意味着使用泛型类型参数t来编写一个类mylist<T>,客户机代码可以这样调用它:mylist< int>、mylist< string>或mylist< MyClass>。这样可以避免运行时类型转换或装箱操作的成本和风险
泛型类型集合:参数化类型,在类或方法中将参数的类型定义为泛型(不确定类型),并等待调用此方法,使参数的类型与传入参数的类型一致。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。