我正在解析JSON字符串,并将其反序列化。现在可以正常工作,但是我在处理值时遇到问题,它是一个空字符串或null。
此属性有2个值(例如链接和值)。一般。但是我读取的属性可能为空(因此没有链接,也没有值)。
我这样写吸气剂和吸气剂。
private ResolvedBy myVar1;
public ResolvedBy resolved_by
{
get
{
if (myVar1 == null)
{
myVar1 = new ResolvedBy();
return myVar1;
}
// if (String.IsNullOrWhiteSpace(myVar1.link) && String.IsNullOrWhiteSpace(myVar1.value))
if (myVar1.ToString() == String.Empty)
{
myVar1 = new ResolvedBy();
return myVar1;
}
return myVar1;
}
set { myVar1 = value; }
}
并且该类具有以下代码
public class ResolvedBy //
{
public string link { get; set; }
public string value { get; set; }
}
如果我现在使用new修饰符重新实例化该对象,则链接和值也为null。在这种特殊情况下,是否可以用空字符串填充链接和值?
答案 0 :(得分:2)
您可以为link
和value
设置默认值:
public class ResolvedBy
{
public string link { get; set; } = "";
public string value { get; set; } = "";
}
答案 1 :(得分:1)
如果我现在使用new修饰符重新实例化该对象,则该链接 和value也为null。有没有办法用 在这种情况下为空字符串?
当然
return new ResolvedBy { link = "", value = "" };
答案 2 :(得分:0)
现在尝试一下,如果属性为空,我已经对其进行了更新,以返回“”。
class ResolvedBy
{
string link;
string value;
public string Link
{
get
{
return (this.link == null ? "" :this.link
}
set
{
this.link= (value ==null ? "" : value);
}
}
public string Value
{
get
{
return (this.value == null ? "" : this.value);
}
set
{
this.value =( value == null ? "" : value);
}
}
}