基础要点总结
1)、 private DataTime? firstTime;
这是在做wpf开发(C# , framework4.0)时遇到的语法,当初很不理解,在网上查了一下,“?”表示的是一种System.Nullable泛型结构DateTime? firstTime相当于:System.Nullable<DateTime> firstTime.这里可以理解为对DataTime类型的扩展,使其可以处理null值。
例如: int? count = null; bool tag = null; 等,本来int和bool类型的值是不能被赋值为null类型值的,但是扩展以后就可以了。
需要注意的是:int? 和 int类型的变量之间的赋值。
int? count = null;
int i = count;
上面这样的做法是不对的,应该这样赋值:
int? count = null;
int i = count ?? 0; //??运算符首先会判断左操作数是否为空,为空则返回??运算符的右操作数,否则返回左操作数。
或者:
int i = count.HasValue ? count.Value : 0;