C#泛型总结

来源:互联网 发布:js img中心不停的旋转 编辑:程序博客网 时间:2024/06/05 06:51

泛型,比较广泛的数据类型。泛型是数据类型的一种通用表示形式,它可以表示任何一种数据类型


泛型的定义和引用

泛型是具有占位符(类型参数)的类、结构、接口、和方法。它与普通类的区别是泛型多了一个或多个表示类型的占位符,这些占位符永尖括号括起来。

public class MyClass<T>{

public T MyProp{get;set;} //定义属性MyProp

public void Print(){

Console.WriteLine(MyProp);

}

}


MyClass<int> myClass = new MyClass<int>();

myClass.MyProp = 15;

myClass.print();


可空类型的泛型

Nullable<T>

Nullable<int> 等效为 int?


可空类型的泛型表示可被赋值为null值的值类型变量,但是要注意,由于引用类型已支持null值,因此不能用该类型创建基于引用类型的null类型。

由于普通类型的值类型数据无法和null值进行比较,要判断可空类型的变量是否为null,可以利用为该泛型变量提供的HasValue属性,如果次变量的值不是null,则HasValue属性返回true,否则返回false

if(x.HasValue){

j = x.Value;

}

利用为可空类型变量提供的GetValueOrDefault方法。可以返回该数据类型的值或默认值,例如

int j = x.GetValueOrDefault();

使用“??”运算符号

int ? x = null;

int y = x ?? -1

当x的值为null时,就将默认值-1赋值给y






1 0
原创粉丝点击