• .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~

  • 相关阅读:
    excel导入数据库表
    C# WinForm通过WebClient实现文件上传下载
    C#中的多线程——线程同步基础
    document.body.scrollTop为0的处理办法
    C#利用短信猫收发短信息的方法
    XML Serializable Generic Dictionary
    Making IE use PNG Alpha transparency
    String[3]: the Size property has an invalid size of 0.
    input style兼容IE6的方案
    安装window service 中出现Set Service Login对话框
  • 原文地址:https://www.cnblogs.com/ma-nong01/p/14323413.html
Copyright © 2020-2023  润新知