Joa*_*nge 1 .net c# xml serialization
我正在阅读这篇文章,他们有这个代码:
// Serialization
XmlSerializer s = new XmlSerializer( typeof( ShoppingList ) );
TextWriter w = new StreamWriter( @"c:\list.xml" );
s.Serialize( w, myList );
w.Close();
// Deserialization
ShoppingList newList;
TextReader r = new StreamReader( "list.xml" );
newList = (ShoppingList)s.Deserialize( r );
Run Code Online (Sandbox Code Playgroud)
最后一行是演员陈述吗?如果是这样,它是否会降低序列化性能?
是的,最后一行是演员陈述.铸造确实具有与之相关的成本,但与序列化的成本相比,它是无关紧要的.我怀疑它甚至会出现在探查器上.
想想序列化涉及什么.
任何这些操作都比单个操作操作贵得多.
编辑至于它为什么需要铸造.
这里有几个原因.第一个是反序列化API在检查之前无法知道字节流的类型.因此,API在元数据中的返回类型方面唯一的选择是Object.
其次,反序列化必须支持任何可序列化的类型.为了起作用,它必须选择适用于所有可序列化类型的方法的返回类型.唯一可用的类型是对象.
| 归档时间: |
|
| 查看次数: |
1613 次 |
| 最近记录: |