.Net 5 C# 泛型(Generics)

这里有个目录

什么是泛型?

我们试试实现这个需求,给一个对象,然后返回 另一个同样的对象,先不管这个实用性,我们实现看看
首先是int型

   private  int Get(int a)
        {
            int result = a;
            return result;
        }

很好,成功实现,那如果是double型呢?

 private double Get(double a)
        {
            double result = a;
            return result;
        }

不错,也实现了。那如果是string类型呢?

  private string Get(string a)
        {
            string result = a;
            return result;
        }

很赞,如果我想各个类型都实现呢?发现什么问题了没?

代码几乎是一样的,怎么能更简便呢?

如果有个类型,可以暂时替代所有类型,待程序运行时自动根据参数解析来变成指定类型(重读3遍)

我们叫它通用类型 ,用个字母代表它 ,T(Tong),然后使用<T>
来告诉这个方法,这个T是通用类型。
然后我们的代码就变成下面这样。

  private T Get<T>(T a)
        {
            T result = a;
            return result;
        }

我们在主方法内调用试试

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            var result = Get(1);
            var result2 = Get(1d);
            var result3 = Get("3");
            Console.WriteLine(result);
            Console.WriteLine(result2);
            Console.WriteLine(result3);
        }

        private static T Get<T>(T a)
        {
            T result = a;
            return result;
        }
    }
}

输出结果:
在这里插入图片描述

成功实现!

后记

本人不是大佬,只是道路先行者,在落河后,向后来的人大喊一声,这里有坑,不要过来啊!

纵然如此,依旧有人重复着落河,重复着呐喊······

个人博客网站 Blog

文章后续会在公众号更新,微信搜索 OneByOneDotNet 即可关注。

你的一分鼓励,我的十分动力,点赞免费,感恩回馈。喜欢就点赞评论吧,双击6666~

posted @ 2021-01-20 13:45  OneByOneDotNet  阅读(122)  评论(0编辑  收藏  举报