C#中的泛型

前言

这篇文章带领大家一起学习学习泛型。

我们目前使用的语言结构,可以建立多种不同类型的强大对象。

很多时候是声明类,封装需要的行为之后创建类的实例对象。目前为止,所有类声明用到的类型都是特定类型。

有可能是我们自己定义的,有可能是BCL定义的。

其实有时候我们可以把类的行为提取或重构出来,使之不仅能应用到它们编码的数据类型上,而且还能应用到其他类型上。这时就有了泛型的概念,它就是用来解决这样的问题的。

泛型是专门为多段代码在不同的数据类型上执行相同指令的情况专门设计的。

用白话说就是,设计一个泛型类型代码,它能接受很多类型,可以根据业务逻辑变化而使用不同的类型对象来操作。

什么是泛型

泛型特性提供了一种更优雅的方式,可以让多个类型共享一组代码。

泛型可以声明类型参数化的代码,可以用不同的类型进行实例化。
其实就是可以用类型占位符来写代码,然后在创建类的实例时指明真实的类型。

类型不是对象,而是对象的模版。

泛型类型也不是对象,而是类型的模版。

C#提供5种泛型:类、结构、接口、委托和方法。其中前4个是类型,而方法是成员。

        class Ahui<T> 
        {
            T Name { get; set; }

            private T GetName(T value) 
            {
                return value;
            }
        }

上面代码中的T就是代表一种泛型的占位符,我们可以使用这种占位符来定义泛型对象,在被调用的时候传入对应的类型就OK。

泛型的使用

那么在定义泛型对象时具有如下步骤:

  • 在某些类型上使用占位符来声明一个类
  • 为占位符提供真实类型。(该类型称为构造类型)
  • 创建构造类型实例。

声明泛型类

  • 在类名之后放置一组尖括号。
  • 在尖括号中用逗号分隔的占位符字符串来表示希望提供的类型(类型参数)。
  • 在泛型类声明的主体中使用类型参数来表示应该替代的类型。
        class Ahui<T,T2> 
        {
            public T Age;
            public T2 Name;
        }

在泛型类型声明中并没有特殊的关键字,取而代之的是尖括号中的类型参数列表,它可以区分泛型类与普通类的声明。

寄语

人生短暂,我不想去追求自己看不见的,我只想抓住我能看得见的。

原创不易,给个关注。

我是阿辉,感谢您的阅读,如果对你有帮助,麻烦点赞、转发 谢谢。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Andy阿辉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值