开发工具与关键技术:VS
作者:晨疯
撰写时间:2022 年 06 月18日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一、泛型的概念
定义:泛型允许我们延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程
序中使用它的时候。(也就是说泛型是可以与任何数据类型一起工作的类或方法)模块内高
内聚,模块间低耦合。
泛型的使用:当我们的类/方法不需要关注调用者传递的实体是什么(公共基类工具
类),这个时候就可以使用泛型。
注意:
集合中的项允许是 object 型的值,因此可以存放任意类型的值,无法确保存入集合中
的值都是同一类型,而导致在处理时发生异常。
二、可空类型
对于引用类型的变量来说,如果未对其赋值,在默认情况下是 Null 值,对于值类型的
变量,如果未赋值,整型变量的默认值为 0。
但通过 0 判断该变量是否赋值了是不太准确的。在 C# 语言中提供了一种泛型类型
(即可空类型 (System.Nullable<T>))来解决值类型的变量在未赋值的情况下允许为 Null的情况。
可空类型的定义:
可空类型常用方法:
举例如下:
三、泛型方法
在 C# 语言中泛型方法是指通过泛型来约束方法中的参数类型,也可以理解为对数据类型设
置了参数。
如果没有泛型,每次方法中的参数类型都是固定的,不能随意更改。
在使用泛型后,方法中的数据类型则有指定的泛型来约束,即可以根据提供的泛型来传递不
同类型的参数。
泛型方法的定义:
定义泛型方法需要在方法名和参数列表之间加上<>,并在其中使用 T 来代表参数类型。
注意:
C#中泛型方法中只能使用object类具有的方法。
举例如下: