zoukankan      html  css  js  c++  java
  • [CSharp]C#2.0 锐利体验系列课程 (1):泛型编程学习笔记

    问题:下面的定义中,哪个是错误的
    1 class C<U,V>{}
    2 class D:C<string,int>{}
    3 class E<U,V>:C<U,V>{}
    4 class F<U,V>:C<string,int>{}
    5 class G:C<U,V>{}

    解释
    1 泛型定义
    2 D是普通类,C是实例化的泛型类垿IMG src="http://www.cnblogs.com/blog/smile19.gif">
    3 E是子泛型类型,C是基泛型类型,C使用了子的泛型参敿IMG src="http://www.cnblogs.com/blog/smile19.gif">
    4 F是泛垿C已经实例匿IMG src="http://www.cnblogs.com/blog/smile19.gif">
    5 G是类,C是泛型类垿IMG src="C:\Program Files\BlogJet\Data\Smiles\smile20.gif">

    注释
    可以在基类中包含泛型类型的声明。但是注意:基类如果是泛型类,它的类型参数要么已实例化,要么来源于子?/FONT>

    ————————

    泛型类型的成?FONT>

    class C<V>{
        public V f1;     // 声明f1
        public D<V> f2;  // 引用其它泛型类型来定义成员f2
        public C(V x){   // 方法
            this.f1 = x;
        }
    }

    ————————-

    泛型接口

    定义方式入泛类型的定义一栿BR>interface IList<T>{
        T{} MethodA();
    }
    interface IDictionary<K,V>{
        void MethodB(K k , V v);
    }

    class List<T> : IList<T> , IDictionary<int,T>
    {
        public T[] MethodA(){}
        public void MethodB(int i,T t){}
    }

    —————————-

    泛型方法

    public class Finder{
        public static int Find<T> ( T[] items , T item )
        {
            for(int i;i<items.Length;i++){
                if(items[i].Equals(item){return i;}
            }
        }

    }

    ——————————

    泛型方法的重?FONT>

    class c{
        void F<T>(int x);
        void F(int x);
        public abstract T F<T,U>(T t,U u) where U:T;
    }

    重写
    class cc : c{
        public override X F<X,Y>(X x,Y y){}
    }

    -----------------

    基类约束

    class A{public void F1(){...}}
    class B{public void F2(){...}}

    class C<S,T>
    where S: A
    where T: B
    {
        // 可以在类型S上调用F1方法
        // 可以在类型B上调用F2方法
        ...
    }

  • 相关阅读:
    alpha冲刺9
    alpha冲刺8
    alpha冲刺7
    alpha冲刺6
    团队作业——随堂小测(同学录)
    alpha冲刺5
    【麻瓜制造者】团队项目测试报告与用户反馈
    Android基础学习
    学习博客之工具的学习、安装和使用
    学习博客之Java继承多态接口
  • 原文地址:https://www.cnblogs.com/xuzhong/p/238676.html
Copyright © 2011-2022 走看看