Nullable<T> 与 T?
Nullable<T> 与 T?
Nullable<T> : 基础类型为值类型的对象,值类型的对象和引用类型的对象一样也可以分配 null
可空类型, 是c#2.0添加的特性, 已经不新了, 但俺还没怎么用过.
1. Nullable<int> 与 int?是同样的意思.
int? cc = 2;
if (cc.HasValue)
{
Console.WriteLine(cc.Value);
}
2. ??是一个运算符
例如 a ?? b
如果a不是null就返回a; 如果a是null, b 不是null, 就返回b; 如果都是null, 就只能返回null了.
测试代码:
Nullable<int> tlinq = new Nullable<int>();
tlinq = 5;
int?stuid=2;
if (stuid.HasValue && tlinq.HasValue)//特有方法
{
Console.Write(stuid.Value+"可空类型: "+tlinq.Value);
}
int workid = 2;
if (workid.CompareTo(1)>0)
{
stuid=stuid??workid;
}