泛型

来源:互联网 发布:显微图像分析软件 编辑:程序博客网 时间:2024/04/29 16:34

一般我们定义类或函数 ,其数据成员都指定数据类型,但是为了程序的重用性,我们可以不指明具体数据类型 而是用一个符号来表示,在程序执行的时候 将这个符号替换为具体数据类型,这就是泛型的使用

eg1:

namespace _3
{
    class Student<T1, T2> //指定数据类型参数 T1,T2 可分别代表不同数据类型  这是泛型类
    {
        T1 no;
        T2 name;
        public Student(T1 no1, T2 name1)
        {
            no = no1;
            name = name1;
        }
        public void Set_msg(T1 no1, T2 name1) //形参 可以是 参数化类型  这是 泛型方法
        {
            no = no1;
            name = name1;
        }

        public string Get_msg()
        {
            return no.ToString() + ":" + name;
        }
    }
    public class MainClass
    {
        public static void Main()
        {
            Student<int, string> b = new Student<int, string>(1001, "令狐冲"); //注意 创建对象的格式
            // 数据成员 1个是int 对于类中的T1 另1个是string 对于类中的T2
            Console.WriteLine("{0}", b.Get_msg());
            Student<string, string> b1 = new Student<string, string>("1001", "令狐冲");
            //// 数据成员 1个是string 对于类中的T1 另1个是string 对于类中的T2
            b1.Set_msg("1003", "张三"); // 直接传递对于数据类型的常量或变量 指定具体数据类型
            // “1003”是string类型 对于 Set_msg 函数的第一个参数数据类型为string,第2个参数类型 也为string

            Console.WriteLine("{0}", b1.Get_msg());

            Console.WriteLine("{0}", b.Get_msg());
            Console.Read();
        }
    }
}

 

eg2:

0 0