bool? 可以为 null 的类型可以包含三个不同的值:true、false 和 null。因此,bool? 类型不能用于条件语句,如 if、for 或 while。例如,此代码无法编译,并将报告编译器错误 CS0266

bool? b = null;
if (b) // Error CS0266.
{
}

这是不允许的,因为 null 在条件上下文中的含义并不清楚。若要在条件语句中使用 bool?,请首先检查其 HasValue 属性以确保其值不是 null,然后将它强制转换为 bool。有关更多信息,请参见 bool。如果对使用 null 值的 bool? 执行强制转换,则在条件测试中将引发 InvalidOperationException。下面的示例演示了一种从 bool? 安全地强制转换为 bool 的方法:

           bool? test = null;
...// Other code that may or may not
// give a value to test.
if(!test.HasValue) //check for a value
{
// Assume that IsInitialized
// returns either true or false.
test = IsInitialized();
}
if((bool)test) //now this cast is safe
{
// Do something.
}

来自

最新文章

  1. 就这么漂来漂去---一个毕业三个月的java程序员的裸辞风波
  2. CSS深入理解之overflow
  3. Android性能优化的浅谈
  4. PL/Proxy介绍
  5. threejs构建web三维视图入门教程
  6. android坐标
  7. highchairts柱状图显示数值并且带单位
  8. [转]Easy Stored Procedure Output Oracle Select
  9. the convertion between string and BlobColumn
  10. WinForm 控件(下)
  11. “使用多target来构建大量相似App”,唐巧大神理论验证(附工程代码地址)
  12. Liunx的DHCP配置
  13. u盘安装ubuntu10.04 、11.04 server
  14. android SlidingmMenu的入门介绍
  15. web安全认证机制知多少
  16. js实现消息滚动效果
  17. kvm创建新虚拟机
  18. Java18-java语法基础——集合框架
  19. Harbor api 操作
  20. cdnbest如何查看站点操作日志(同步日志)

热门文章

  1. HTML表单部分学习笔记
  2. 个人永久性免费-Excel催化剂功能第91波-地图数据挖宝之行政区域信息实时下载(含经纬度)
  3. PHP与ECMAScript_1_变量与常量
  4. laravel 模型查询总结
  5. linuk相关命令
  6. 【Android】Mac Android adb 配置
  7. Extjs的文件上传问题
  8. Spring JdbcTemplate之使用详解
  9. html的一些基本语法学习与实战
  10. 二叉查找树(查找、插入、删除)——C语言