泛型,泛型方法

无论是封装,继承,多态还是泛型,目的只有一个,减少代码量,增加重用率,使得代码更简洁,更高效。

泛型在定义的时候不需要声明具体的数据类型,但是使用时,必须明确数据类型,
            //泛型类,泛型方法,泛型委托,
            //泛型T   T:表示可能的数据类型。

下面先写一个不用泛型的话写的代码:

     让控制台分别输出整形,字符串类型和 doubel 类型要写三个方法

        static void Test(int n)
        {
            Console.WriteLine(n);   
        }
        static void Test(string s)
        {
            Console.WriteLine(s);
        }
       static void Test(double d)
        {
            Console.WriteLine(d);
        }

下面写一个泛型方法:

 static void Test<T>(T t1)
        {
            Console.WriteLine(t1);
        }


 static T Getscore<T>()
        {
                while (true)
                {
                try
                {

                    T score =(T) Convert.ChangeType(Console.ReadLine(),typeof(T));//用Convert万能转换里的ChangeType方法,将object类型转换为T类型,

                    {
                        dynamic n = score;//
                        if (n > 0 && n < 120)
                        {
                            return score;
                        }
                        else
                        {
                            Console.WriteLine("数值超出范围请重新输入");
                        }
                       
                    }
                }
                catch (Exception)
                {


                    Console.WriteLine("数值格式不正确请重新输入");


                }
                   
                }

        }

在main 方法里调用以上方法对比可以看出泛型更简洁

Test(10);//调用方法的重载
Test("你好");
Test<int>(10);//调用泛型方法
Test<string>("你好");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值