C# 泛型学习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/BaiYangShouTong/article/details/53688605

注意Push 方法

1.

public class Stack<T>
{

    private T[] m_item;

    public T Pop(T m) {
        return m; }

    public void Push(T item){}

    public Stack(int i)
    {

        this.m_item = new T[i];

    }

}

        Stack<int> ss = new Stack<int>(100);
        ss.Push("ds");
第一种,ss.Push("ds");  编译通不过,因为 参数T 的类型 必须与 类实例化时定义的类型一致


public class Stack<T>
{

    private T[] m_item;

    public T Pop(T m) {
        return m; }

    public void Push<T>(T item){}

    public Stack(int i)
    {

        this.m_item = new T[i];

    }

}

        Stack<int> ss = new Stack<int>(100);
        ss.Push("ds");
第二种,ss.Push("ds");  编译可以通过,相当于重新为Push方法定义了参数类型,不只是可以接收 类实例化时定义的参数类型,其他任何类型都可以


猜你喜欢

转载自blog.csdn.net/BaiYangShouTong/article/details/53688605
今日推荐