通过自己的认识,泛型是为了防止重复的变成,比如一个方法,参数是int类型,这个时候当你需要再写一个功能相同,但是是关于string类型的。有人想到用object的装箱和拆箱操作实现,但是不安全。

泛型的特点: 更强的类型安全,更好的复用,更好的效率,更清晰的约束。

C#泛型能力有CLR在运行时支持:C#泛型代码在编译为IL代码和元数据时,采用特殊的占位符来表示范型类型,并用专有的IL指令支持泛型操作。而真正的泛型实例化工作以“on-demand”的方式,发生在JIT编译时。

Demo:

Code
namespace LearningDemo 
{

class Stack<T> 
        {
            private T[] store;
            private int size;
            public Stack() 
            {
                store = new T[10];
                size = 0;
            }
            public void Push(T x) 
            {
                store[size++] = x;
            }
            public T Posh()
            {
                return store[--size];
            }
        }

class DemoGeneric 
            {
                public static void Main()
                {
                    Stack<int> intStack = new Stack<int>();
                    intStack.Push(17);
                    Stack<String> stringStack = new Stack<String>();
                    stringStack.Push("abc");
                    Console.WriteLine("The int stack push is {0}", intStack.Posh());
                    Console.WriteLine("The string stack push is {0}", stringStack.Posh());
                }
            }

}

其实可以理解为一个参数。你传入的是int就是int ,传入string就是string。

转载于:https://www.cnblogs.com/30763402/archive/2009/11/23/1609107.html

泛型Generics相关推荐

  1. java的知识点23——泛型Generics、Collection接口、List特点和常用方法、 ArrayList特点和底层实现

    泛型Generics 一般通过"容器"来容纳和管理数据.程序中的"容器"就是用来容纳和管理数据. 数组就是一种容器,可以在其中放置对象或基本类型数据. 数组的优 ...

  2. 【TS】泛型 Generics

    泛型Generics,是指在定义函数Function.接口Interface 或类 Class 时不预先指定具体的类型,而是在使用的时候再指定类型的一种特征. // 函数名后的 <> 内传 ...

  3. Java基础学习——泛型(generics)学习一

    概述 在JDK 5.0,Java语言引入了好几个新的功能,其中很重要的一个就是泛型(generics). 本文就是对泛型的一个概述.你可以很熟悉其他语言中的类似结构,比如C++里的模板(templat ...

  4. Java基础 --- 泛型 Generics

    Java基础 --- 泛型 Generics 为什么需要泛型 泛型 Bounds for Type Variable Java虚拟机如何处理泛型 --- 泛型擦除 Restrictions and L ...

  5. 泛型 (Generics)一定是最易懂简单的

    文章目录 前言 一."形象比喻" 二.T.E.K.V.?的含义 三.泛型类 总结 前言 泛型(Generics)是在JDK 1.5 中推出的,其主要的目的是建立具有类型安全的集合框 ...

  6. java基础知识(七)-- 泛型(Generics )

    介绍 用法: List list = new ArrayList();// 1 list .add(new Integer(12));// 2 Integer x = (Integer) list . ...

  7. Rust泛型Generics

    泛型 泛型(Generics)是一种程序设计风格,它允许程序员在强类型语言(例如rust,c#,c++)中编写代码时使用通用类型.以rust为例,如果你想实现一个通用的add函数,让其在u8, i32 ...

  8. Java泛型Generics

    转载请标明出处: http://blog.csdn.net/wu_wxc/article/details/51493181 本文出自[吴孝城的CSDN博客] 泛型 泛型是JDK 5中引入的一个新特性 ...

  9. 27.泛型generics.rs

    /* fn max(array: &[i32]) -> i32 {let mut max_index = 0;let mut i = 1;while i < array.len() ...

最新文章

  1. Go 知识点(14) — Go 多协程(单个协程触发panic会导致其它所有协程挂掉,每个协程只能捕获到自己的 panic 不能捕获其它协程)
  2. PyCharm 2019.3发布,增加了哪些新功能呢?
  3. 用户列表-投资记录sql
  4. PHP面向对象基础总结
  5. html5嵌套css语言,HTML5和CSS3
  6. ajax首页首页显示数据库,ajax显示mysql数据库
  7. Fedora 10下应用网络模拟器NS心得
  8. java小数换成字符实现加法_第一、二次笔记总结
  9. oracle查询优化不走缓存,Oracle数据库存储优化问题
  10. 开放API 与 查询语言GraphQL
  11. Linux操作系统中pkg-config用法示例
  12. Android8.1系统Led的控制从底层到上层的实现
  13. 程序员代码对比工具,就用这7个!
  14. SaaSpace:11种最佳免费会计软件工具
  15. Java判断字符串是否为空的几种方法
  16. 财务大数据课程要学python吗_大数据不用学python吗?
  17. funnyface表情包制作神奇
  18. 善于计划,善于总结,善于归纳
  19. ZooKeeper报错:Unable to access datadir, exiting abnormally windows版本
  20. 多测师拱墅校区__肖sir__项目讲解(1)

热门文章

  1. PL/SQL12中文版
  2. Curl中的参数知多少
  3. String Manipulation
  4. 对文本框只允许输入数字
  5. asp.net2.0学习历程 菜鸟到中级程序员的飞跃
  6. 数据挖掘原理与算法:Jupyter
  7. 深入理解委托——为什么C#要引入委托
  8. android双击熄屏代码,Android响应双击屏幕事件
  9. android实现华为手机拍照上传_继续引领手机拍照 华为将带来液态镜头
  10. 计算机组装高考真题,年计算机组装与维修高考题.pdf