经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C# » 查看文章
C# ?和??使用讲解
来源:cnblogs  作者:码农小周  时间:2018/10/11 9:32:53  对本文有异议

场景1:使用?定义可空类型

众所周知,C#中的值类型是不可以为null的,如果必须为null,则需要将变量定义为可空类型,如下所示:

  1. int? age = null;

场景2:使用?检查null值

一般我们写代码时,为了避免代码出现空异常System.NullReferenceException,都会写很多的判断语句

  1. Address address = null;
  2. if (address != null)
  3. {
  4. Console.WriteLine(address.PostCode);
  5. }
  6. Console.ReadLine();

在C#的新语法中,我们可以通过?来检查null值,这样可以减少很多不必要的判断

  1. Address address = null;
  2. var postCode = address?.PostCode;
  3. Console.WriteLine(postCode);
  4. Console.ReadLine();

场景3:使用??设置默认值

在写代码过程中,经常会碰到当变量为null值设置默认值的情况,原来的写法可能是这样的:

  1. int? age = null;
  2. if (!age.HasValue)
  3. {
  4. age = 18;
  5. }
  6. Console.WriteLine(age); // 输出18
  7. Console.ReadLine();

在C#的新语法中,可以通过??来设置默认值,如果变量值为null,取??右边的值,如果不为null,取变量的值

  1. int? age = null;
  2. Console.WriteLine(age ?? 18); // 输出18
  3. age = 20;
  4. Console.WriteLine(age ?? 18); // 输出20
  5. Console.ReadLine();
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号