加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#bool值作为字符串始终为null

发布时间:2020-12-16 10:22:13 所属栏目:百科 来源:网络整理
导读:我试图将变量属性信息转储到一个简单的字符串,但当它到达我的可空bool时,as字符串总是返回null – 即使实际值为true |假! StringBuilder propertyDump = new StringBuilder();foreach(PropertyInfo property in typeof(MyClass).GetProperties()){ property
我试图将变量属性信息转储到一个简单的字符串,但当它到达我的可空bool时,as字符串总是返回null – 即使实际值为true |假!

StringBuilder propertyDump = new StringBuilder();

foreach(PropertyInfo property in typeof(MyClass).GetProperties())
{
    propertyDump.Append(property.Name)
                .Append(":")
                .Append(property.GetValue(myClassInstance,null) as string);
}

return propertyDump.ToString();

没有例外;快速和输出正是我想要的除了任何属性bool?总是假的.如果我快速观察并做.ToString()它的工作原理!但我不能保证其他属性不是,实际上是null.

谁能解释为什么会这样?甚至更好,一个解决方法?

解决方法

如果实例具有该确切类型,则as运算符返回一个转换值,否则返回null.

相反,你应该.Append(property.GetValue(…)); Append()将自动处理空值和转换.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读