2.泛型、字符串内插学习笔记

学习视频链接:https://www.bilibili.com/video/BV19b4y167cv/?share_source=copy_web&vd_source=06ee2cd6fe48dbc0d8b5e6edf445be9c

1.泛型类型参数:

使用装箱拆箱的方法:

    void Print(Object obj)
    {
        System.Console.WriteLine(obj);
        System.Console.WriteLine(obj.GetType());
    }

 使用泛型优化后:

 泛型类无法按原样使用,因为它不是真正的类型;它更像是类型的蓝图。

void Print<T>(T obj) 
    {
        System.Console.WriteLine(obj);
        System.Console.WriteLine(obj.GetType());
    }

2.泛型类型参数的约束:
通过在参数列表后添加where T:基类名,对泛型类型参数进行约束

void Print<T>(T obj) where T : struct{/*方法体*/}//只允许值类型参数
void Print<T>(T obj) where T : class{/*方法体*/}//只允许引用类型参数
void Print<T>(T obj) where T :  基类名 {/*方法体*/}//只允许指定基类或派生自指定基类类型参数
void Print<T>(T obj) where T :  class? {/*方法体*/}//可为null的引用类型类型参数

3.字符串内插:

简化通常的占位符方法

        System.Console.WriteLine("obj:{0},objType:{1}",obj,obj.GetType());//通常的方法
        System.Console.WriteLine($"obj:{obj},objType:{obj.GetType()}");//字符串内插

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值