博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何:从 bool? 安全地强制转换为 bool(C# 编程指南)
阅读量:5043 次
发布时间:2019-06-12

本文共 793 字,大约阅读时间需要 2 分钟。

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

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

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

转载于:https://www.cnblogs.com/beijing2020/p/3968766.html

你可能感兴趣的文章
程序员学习能力提升三要素
查看>>
PHP 微信错误状态返回码说明
查看>>
【4.1】Python中的序列分类
查看>>
ubuntu 移动文件
查看>>
Easy Mock
查看>>
看看 Delphi XE2 为 VCL 提供的 14 种样式
查看>>
Python内置函数(29)——help
查看>>
机器学习系列-tensorflow-01-急切执行API
查看>>
SqlServer 遍历修改字段长度
查看>>
Eclipse快捷键:同时显示两个一模一样的代码窗口
查看>>
《架构之美》阅读笔记05
查看>>
《大道至简》读后感——论沟通的重要性
查看>>
JDBC基础篇(MYSQL)——使用statement执行DQL语句(select)
查看>>
关于React中props与state的一知半解
查看>>
java中Hashtable和HashMap的区别(转)
查看>>
关闭数据库
查看>>
webStrom智能提示忽略首字母大小写问题
查看>>
层叠加的五条叠加法则(一)
查看>>
设计模式六大原则(5):迪米特法则
查看>>
对Feature的操作插入添加删除
查看>>