我有以下方法..
public void Handle(JToken jsonTable)
{
var myvar = jsonTable.ToObject<abcTable>();
// other code
}
abcTable结构:
public class abcTable
{
public string Column1
{
get;
set;
}
public string Column2
{
get;
set;
}
public bool Column3
{
get;
set;
}
}
当我调用Handle方法时 - jsontable有Column1 =“a”而Column2 =“b”且Column3不存在.....
经过.ToObject()后,myvar得到Column3 = false以及其他两个值
在对象形成后我需要Column3 = null ..
真心感谢任何帮助
由于
答案 0 :(得分:1)
如评论中所述,bool不能设置为null。您创建为bool
类型的任何变量都将自动设置为false
而不是null
。要创建可以设置为null的布尔值,请使用可空类型bool?
。
public bool? Column3
{
get;
set;
}
现在您可以像往常一样设置Column3:
Column3 = true;
获取价值有点琐碎:
if (Column3.HasValue) // Check if Column3 is not null
{
boo value = Column3.Value;
// process the value here
}