当前位置: 首页 > 编程语言 > C#

什么是布尔值?返回类型是什么意思分享

时间:2023-04-10 20:48:14 C#

什么是Boolean?返回类型是什么意思?我看到一个返回bool的方法?有人知道这是什么意思吗?吨?是Nullable的C#语法快捷方式。那么布尔?映射到可空。因此,在您的情况下,它是一个结构,要么为null,要么具有bool值。如果Nullable为null,则与引用类型为null时略有不同。它基本上是一个包含基础类型和布尔标志的HasValue。但是运行时和C#语言都有点神奇,假装HasValue==false的Nullable实际上是Null。但有时差异仍然存在。基础类型可以隐式转换为可空类型(bool->bool?)。要从可空类型获取基础类型,您可以显式转换((bool)myNullableBool或使用Value属性(myNullableBool.Value)。您应该在之前检查是否为null,否则如果可空值为null则会出现异常。在C#,"primitive"typescannotcontainnullvalues:intblah=null;这会产生异常,因为'int'不能保存null值。与double、float、bool、DateTime相同...非常好。使用数据库时问题会出现。在数据库中,您可以拥有可以为null的行,例如Age(它是一个int)。您如何在对象上保存该行?您的int不能保存空值,行可以为null。出于为此,MS创建了一个新结构Nullable,您可以向其传递“原始”类型(或结构)以使其可为空:Nullableblah=null;现在,这不会是一个例外,变量可以包含int和null。因为Nullable太长,MS创建了某种别名:如果你在类型后面加上'?',它就变成了nullable:int?blah=null;可为空的blah=null;这两行完全一样,但第一行更容易阅读。像这样:)任意(废话1)值类型后缀?使其成为可空类型:换句话说,对象类型不支持可空定义为对象?因为它是一个引用类型并且可以有一个空值。实际使用Nullable类型在数据库中最常用,因为它们使转换为nullableint/bit/datetime/etc变得非常容易。列为CLR类型。就像在这个例子中:createtableTest(Idintidentitynotnullprimarykey,Daysintnull,ExactDatedatetimenull,Selectedbitnull)这很容易转换为POCO:publicclassTest{publicintId{get;放;公共诠释?天{得到;放;公共日期时间?准确日期{得到;放;公共布尔?选中{得到;放;1no-nonsense指的是除Nullable之外的所有值类型,它本身就是一个值类型,但是再次让它为nullable可能没有任何意义......避免这种愚蠢......它无论如何都不会编译,因为Nullable>我=空;可以有两种解释:?i.HasValue==false?i.HasValue==true&&i.Value.HasValue==false以上是C#学习教程:什么是布尔值?返回类型表示共享的所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: