为了定义一个可空变量类型,应在底层数据类型中添加问号(?)作为后缀。注意,这种语法只对值类型是合法的,局部可空变量必须赋值一个初始值。
//定义一些局部可空类型 int? a =10; double? b=3.14; bool? c=null; char? d= 'a'; int?[] e=new int?[2]; //错误!字符串是引用类型 string? s="zhxdean";
??操作符,在获得的值实际上是null时,我们可以用这个操作符给一个可空类型(不单单是值类型,也可以是引用类型)赋值。使用??操作符的好处是,他比传统的if/else语法更加紧凑。
可空类型例子:
class Program { static DataTable dt = new DataTable(); static void Main(string[] args) { Cat c = new Cat(); //c.Age()获得的值是null int mydata = c.Age() ?? 10; //此时的mydata=10 Console.ReadKey(); } } class Cat { private int? age = null; public int? Age() { return age; } }
参考书籍:《C#与.NET4高级程序设计(第5版)》
最新评论