检查c#中是否初始化了bool变量

pra*_*por 3 c# boolean

所以我在模型中有这样的bool变量.

bool Foo;
Run Code Online (Sandbox Code Playgroud)

我从服务器接收数据并反序列化它的模型对象.因此,服务器数据中没有任何字段被初始化为默认值.而且default(bool)是假的.

但是,false对于我的变量,值也是可接受的值Foo.那么有没有办法检查它是否false从服务器或其默认值获取值.

我也有其他类型的问题,如int,double等,它们默认为null.

Fka*_*Fka 16

在你的位置,我会使用Nullable<bool>(bool?)达到你的目的.然后,您将能够以这种方式检查价值:

bool? Foo;

if(Foo.HasValue)
{
   // do something with Foo.Value
}
else
{
   // Foo is uninitialized
}
Run Code Online (Sandbox Code Playgroud)