class:
[Serializable]
public class TestData
{
public List<string> Content { get; set; }
}
test code:
XmlSerializer xml = new XmlSerializer(typeof(TestData));
System.IO.MemoryStream stream = new System.IO.MemoryStream();
xml.Serialize(stream, new TestData());
stream.Position = 0;
TestData o = xml.Deserialize(stream) as TestData;
这时发现o的Content竟然不是null,而是一个empty collection,有人解释一下,怎样才能让它Deserialize之后变成null呢?
用 string[] 就行,要是List<T>,还真没发现有啥办法,不过你可以用DataContractSerializer替换XmlSerializer.
用 string[] 可以,用 List<string> 不行。