zoukankan      html  css  js  c++  java
  • 泛型Generic

    一、什么是泛型?

    1.泛型是.net Framwork 2.0增加的新功能,注意泛型不是语法糖(var i = 5;//编译器提供的便捷功能 ,称之为语法糖)。

    2.主要功能 为了一个方法满足不同的类型的需求比如:一个方法完成多个实体查询,一个方法完成不同类型的数据展示,任意一个实体转换成一个json字符串,类型这些事情泛型很擅长,并且运行效率也非常高。

    //那里用泛型?
    //泛型方法:为了一个方法满足不同的类型的需求
    //泛型类:一个类满足不同类型的需求 List Dictionary
    //泛型接口:一个接口满足不同类型的需求
    //泛型委托:一个委托满足不同类型的需求

    3.泛型种类:泛型类、泛型方法、泛型接口、泛型委托。

    4.泛型原理是----泛型为什么也可以支持不同类型的参数?

    泛型声明方法时,并没有写死类型,T是什么?不知道 T要等着调用 的时候才指定

    设计思想:延迟声明,推迟一切可以推迟的,一切能晚点做的事 ,就晚点做

    泛型方法和性能跟普通方法一致,是最好的,而且还能一个方法满足多个不同类型。

    注意::::::

    //WebServices WCF 都不能用泛型,为什么?
    //跨语言的,别的语言也不能用,不支持泛型。
    //服务在发布的时候必须是确定的,泛型在编译时确定 不了

    5.声明泛型  方法名称后加上尖括号,里面是类型参数

    类型参数实际上就是一个类型声明,方法就是可以用这个类型T了.

      public class GenericTest
        {
            /// <summary>
            /// 多个类型参数 不能关键字作为参数  类型名称不能重复
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="tParameter"></param>
            public T Get<T,S,Model,Null>(T tParameter)
            {
                throw new Exception();
            }
    
    
        }
        /// <summary>
        /// 泛型继承要指定父类类型
        /// </summary>
        public class ChildClass:GenericClass<int>,GenericInterface<string>
        {
    
        }
        
        /// <summary>
        /// 泛型类子类
        /// </summary>
        /// <typeparam name="T"></typeparam>
        public class GenericChildClass<T> : GenericClass<T>
        {
    
        }
    
        /// <summary>
        /// 泛型类
        /// </summary>
        /// <typeparam name="T"></typeparam>
        public class GenericClass<T>
        {
    
        }
    
        /// <summary>
        /// 泛型接口
        /// </summary>
        /// <typeparam name="S"></typeparam>
        public interface GenericInterface<S>
        {
    
        }
    
        /// <summary>
        /// 泛型委托
        /// </summary>
        /// <typeparam name="T"></typeparam>
        public delegate void Do<T>();
    声明泛型

     6.泛型使用

  • 相关阅读:
    poj 1840 简单哈希
    poj 2151概率dp
    poj 3349 简单hash
    poj3274 hash
    poj 1459 最大流 Dinic模板题
    poj 3436 最大流-拆点
    poj 3020 二分图最大匹配
    poj 1094 简单拓扑排序
    poj3687 反向建图拓扑排序
    poj 3267
  • 原文地址:https://www.cnblogs.com/zhuankaichao/p/11675121.html
Copyright © 2011-2022 走看看