第二十节 泛型、partial类、枚举、结构
视频链接:刘铁猛老师的《C#语言入门详解》
https://www.youtube.com/watch?v=EgIbwCnQ680&list=PLZX6sKChTg8GQxnABqxYGX2zLs4Hfa4Ca
泛型(generic)#
泛型类示例#
泛型接口示例#
示例1:一个类要实现泛型接口,那么该类必须是泛型类。
示例2:如果一个类实现了一个确定类型的泛型接口,那么这个类可以不是泛型类。
示例3:C#自定义的一些泛型类、接口:集合等。
泛型方法示例#
示例:这个算法作用将2个整型数组合并成一个数组
对比:上面如果要实现double类型的合并的话,必须添加新的double类型的Zip方法,导致了方法成员膨胀。
使用泛型方法解决。
泛型委托示例 Action<>、Func<>、与Lambda表达式的配合使用#
示例1:Action<>,只能去引用没有返回值的方法
示例2: Func<>,去引用有返回值类型的方法
示例3:泛型委托与Lambda表达式的配合使用
partial类#
C#允许把一个类分成两部分或多部分编写,而且每个部分都可以以自己的速度进行版本更新。可以减少类的派生
这个partial类允许用不同语言写,例如:C#和XAML语言写同一个类,WPF示例。
枚举类型#
结构体#
结构体是一种值类型。copy对象的时候,copy完整的对象。
结构体不能由class,struct派生而来,只能由接口派生
结构体不能创建无参的构造方法。
创建实例对象在栈上,创建的实例也存放在栈上。不像类的创建的实例(new Person();)在堆上
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?