将DataMembers设置为String.Empty

时间:2014-05-19 14:21:13

标签: c# datacontract

我有一个带有几个DataMembers的dataContract,如下所示。我想运行DataContract的每个成员并将其设置为string.Empty。我的所有dataMembers都是字符串类型。我不知道它是否可以做,因为通过defalut值返回Null。我希望它返回string.Empty。 提前致谢

public class xyz
{
    [DataMember]
    public string a { get; set ; }

    [DataMember] 
    public string b { get; set; }

    [DataMember]
    public string c { get; set; }

    [DataMember]
    public string d { get; set; }

    [DataMember]
    public string e { get; set; }
}

2 个答案:

答案 0 :(得分:1)

string是参考类型。所以它的默认值为null。因此,您获得的默认值为null是合理的。

现在说要将其作为String.Empty返回,这取决于您何时需要。请更具体一点,为了在这里发布一些符合您想要的代码。

答案 1 :(得分:0)

不是依赖于速记属性声明,而是将其全部写出并为每个声明提供默认值:

private string _a;

[DataMember]
public string a 
{ 
    get
    { 
        if(_a == null)
        {
            return string.Empty;
        }
        return _a;
    }

    set
    {
        _a = value
    }
}