泛型初步理解
2014-08-13 16:16
141 查看
在C#语言中,泛型是一个具有占位符)的类、结构、接口和方法,主要被用于处理算法和数据结构,是他们更易于被使用。泛型类和泛型方法可以根据其所存储的操作和数据的类型来进行参数化。换言之,泛型就是通过参数化类型来实现在同一份代码上操作多种数据类型。利用“参数化类型”将类型抽象化,从而实现灵活的复用,由此可知泛型类及其方法的使用具备可复用、高效便捷等特征,这也正是泛型在C#程序开发语言中特点的体现。
泛型作为程序设计语言的一种特性,有着自己的特点:
1、泛型类型可以最大限度地重用代码、保护类型的安全以及提高性能。
2、泛型最常见的用途是创建集合类,也可以被继承。
3、创建自己的泛型接口、泛型类、泛型方法、泛型事件和泛型委托。
4、泛型数据类型中使用的类型的信息可在运行时通过反射获取。
泛型的使用比较复杂,既包括 泛型类也有泛型接口、泛型委托、泛型方法等。最常见的是泛型方法,泛型方法是使用类型参数声明的方法,通过查阅相关资料找到了一个关于泛型方法的小例子,有助于理解泛型方法。
泛型的使用最终目的是提高代码的重用性,从生活的角度理解可以将其看做是一个容器,贴上的不同标签就可以存放不同的东西,可见泛型的使用可以减少重复代码,但在使用时也对编程的技巧提出了更高要求,使用不当会适得其反,甚至造成逻辑和功能混乱,所以在对泛型有深入了解前关于其的使用还是应该更加慎重。
泛型作为程序设计语言的一种特性,有着自己的特点:
1、泛型类型可以最大限度地重用代码、保护类型的安全以及提高性能。
2、泛型最常见的用途是创建集合类,也可以被继承。
3、创建自己的泛型接口、泛型类、泛型方法、泛型事件和泛型委托。
4、泛型数据类型中使用的类型的信息可在运行时通过反射获取。
泛型的使用比较复杂,既包括 泛型类也有泛型接口、泛型委托、泛型方法等。最常见的是泛型方法,泛型方法是使用类型参数声明的方法,通过查阅相关资料找到了一个关于泛型方法的小例子,有助于理解泛型方法。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _1 { public class Finder { public static int Find<T>(T[] items, T item) { for (int i = 0; i<items.Length; i++) { if(items[i].Equals(item)) { return i; } } return - 1; } } class Program { static void Main(string[] args) { int i = Finder.Find<int>(new int[] { 1, 2, 3, 4, 5, 6, 8, 9, }, 6); Console.WriteLine("6在数组中的位置:" + i.ToString()); Console.ReadLine(); } } }
泛型的使用最终目的是提高代码的重用性,从生活的角度理解可以将其看做是一个容器,贴上的不同标签就可以存放不同的东西,可见泛型的使用可以减少重复代码,但在使用时也对编程的技巧提出了更高要求,使用不当会适得其反,甚至造成逻辑和功能混乱,所以在对泛型有深入了解前关于其的使用还是应该更加慎重。
相关文章推荐
- unity3d 协程的初步理解 - 支持返回值/支持异常处理/支持泛型
- 初步理解Java的泛型特性
- 对泛型的简易初步理解
- 初步理解Swift中的泛型
- [C# 基础知识系列]专题八: 深入理解泛型(二)
- openssl原理的初步理解与私有CA服务器的建立
- C# 理解泛型
- 对MVC的初步理解
- /etc/profile的理解(初步)
- TCP/IP的初步理解,TCP和UDP的区别
- 初步接触angular.js---一些基本概念的理解
- 【Spring】事务(transactional)之初步理解
- JAVA中的泛型理解
- Android adt 初步理解和分析(三)
- Ajax初步理解
- 初步理解Android的MediaScanner(2)
- 深入理解Kotlin的泛型系统
- Ajax初步理解
- 关于单点登录【SSO】的初步理解
- C# 泛型深入理解介绍