【发布时间】:2011-06-17 14:48:06
【问题描述】:
假设我有一门课
[Serializable()]
public class Car
{
public string model;
public int year;
}
我将它序列化到名为“car.xx”的磁盘上。然后我在我的 Car 类中添加一个属性,所以它会是这样的:
[Serializable()]
public class Car
{
public string model;
public int year;
public string colour;
}
然后我将“car.xx”(包含 2 个字段)反序列化为包含 3 个字段的当前汽车类,这将使我们的汽车类的“颜色”属性null。 p>
如何设置“新属性”不获取空值?在构造函数中设置它们不会有帮助。
我正在使用 BinaryFormatter 序列化程序
我希望将 null 的字符串值替换为 ""
【问题讨论】:
-
你试过这样设置
public string colour = "red";吗? -
你想要什么?如果数据中有没有颜色?
-
我希望它是 "" 而不是 null
-
请具体说明您使用的是哪个序列化程序。
BinaryFormatter、XmlSerializer、DataContractSerializer、NetDataContractSerializer、JavaScriptSerializer或其他任何内容(第三方等) -
(更新了
BinaryFormatter更新的答案)
标签: c# serialization null