返回首页

嗨,

什么是C#序列化和反序列化
任何人都可以形容我的细节和其benifit使用


Purnananda Behe​​ra的问候,

回答

评论会员:RaisKazi 时间:2012/02/06
看看这个主题在谷歌搜索结果。
评论会员:游客 时间:2012/02/06
SwingSwis:请参考以下链接:{A}{A2}]
| P.Salini:您可以在下面的方式
定义序列化和反序列化序列化方法(XML文档转换成一个对象的实例)

反序列化方法(XML文档转换成一个对象的实例)

而不是XML,您还可以使用JSON,二进制,文本等

看到这个
{A}

{A2}

{A5的}]
评论会员:BillWoodruff 时间:2012/02/06
"序列化"是"结构"和/或"国家"的对象,或数据保存/保存。你'保存'​​的目标可能是在内存中,一个硬盘上,或通过互联网协议或其他协议,以本地或远程数据库服务器,NAS等

"反序列化"是早在读你"保存",上面列出的同类型的存储:刷新现有对象的状态设置其属性,字段等,或者你可以"反序列化"完全重新创建类用户界面和代码,类的实例,属性值,字段等

序列化和反序列化(SD),可利用的格式种类繁多,其中有些是内置在。NET中。
。NET类,可以标示为"序列化"通过使用"属性",在一定指引。
我们可以说低级别(字节串:即,二进制)。SD格式,我们可以说,"高层次"的格式,其中有些人,如XML和JSON读取

建议:采取1迈赫迪吴拉姆的目前的JSON序列化的外观及解串器,fastJSON"[{A6的}],这里在CodeProject上要见1 1'高的水平"格式的使用状态,对的",艺术的实施为SD
评论会员:吴拉姆・迈赫迪 时间:2012/02/06
序列是从一个基于磁盘的格式,它可以在任何形式的像二进制对象在内存中表示的过程BSON,XML,JSON,等

反序列化是相反的过程,在你从基于磁盘的格式的对象。

这主要是用于文件存储,ORM的风格数据库,存储的配置文件等

主要优点是速度,而不是在数据库存储的情况下查询多个表中填充对象。

简单的编码是另一个好处,因为你不需要知道表中的列等
评论会员:游客 时间:2012/02/06
vinoth库马尔rajendran
序列化是将对象的状态转换成一种形式的过程中,可以保存在存储介质或输送整个过程/机器。相反的序列是反序列化是一个过程,转换成原来的对象序列化的结果。arya1685
评论会员:游客 时间:2012/02/06
序列(称为蟒蛇酸洗)是一种简单的方式转换成二进制表示的对象,然后可以例如:写入到磁盘或通过电线发送。这是有用的,例如容易的设置保存到文件。你可以序列化自己的类,如果你用[Serializable]属性标记。这个序列化一个类的所有成员,除非序列化]那些标记。NET中提供序列化2:二进制和SOAP的XML。二进制和SOAP之间的区别是:二进制是更有效的(使用时间和内存)二进制文件是人类可读。SOAP是不是要好得多。XML是略有不同:生活中的System.Xml.Serialization它使用[XmlIgnore]而不是[非序列化],而忽略了[Serializable接口]它不序列化私有类成员序列化/反序列化到一个文件,例如:codeprespanclass="code-keyword"using/spanSystem.IO;spanclass="code-keyword"using/spanSystem.Diagnostics;spanclass="code-keyword"using/spanSystem.Runtime.Serialization;spanclass="code-keyword"using/spanSystem.Runtime.Serialization.Formatters;spanclass="code-keyword"using/spanSystem.Runtime.Serialization.Formatters.Binary; [Serializable]spanclass="code-keyword"public/spanspanclass="code-keyword"class/spanMySettings{spanclass="code-keyword"public/spanspanclass="code-keyword"int/spanscreenDx;spanclass="code-keyword"public/spanArrayListrecentlyOpenedFiles;[NonSerialized]spanclass="code-keyword"public/spanspanclass="code-keyword"string/spandummy;} spanclass="code-keyword"public/spanspanclass="code-keyword"class/spanSettings{spanclass="code-keyword"const/spanspanclass="code-keyword"int/spanVERSION=spanclass="code-digit"1/span;spanclass="code-keyword"static/spanspanclass="code-keyword"void/spanSave(MySettingssettings,spanclass="code-keyword"string/spanfileName){Streamstream=spanclass="code-keyword"null/span;spanclass="code-keyword"try/span{IFormatterformatter=spanclass="code-keyword"new/spanBinaryFormatter();stream=spanclass="code-keyword"new/spanFileStream(fileName,FileMode.Create,FileAccess.Write,FileShare.None);formatter.Serialize(stream,VERSION);formatter.Serialize(stream,settings);}spanclass="code-keyword"catch/span{spanclass="code-comment"///spanspanclass="code-comment"donothing,justignoreanypossibleerrors/span}spanclass="code-keyword"finally/span{spanclass="code-keyword"if/span(spanclass="code-keyword"null/span!=stream)stream.Close();}}spanclass="code-keyword"static/spanMySettingsLoad(spanclass="code-keyword"string/spanfileName){Streamstream=spanclass="code-keyword"null/span;MySettingssettings=spanclass="code-keyword"null/span;spanclass="code-keyword"try/span{IFormatterformatter=spanclass="code-keyword"new/spanBinaryFormatter();stream=spanclass="code-keyword"new/spanFileStream(fileName,FileMode.Open,FileAccess.Read,FileShare.None);spanclass="code-keyword"int/spanversion=(spanclass="code-keyword"int/span)formatter.Deserialize(stream);Debug.Assert(version==VERSION);settings=(MySettings)formatter.Deserialize(stream);}spanclass="code-keyword"catch/span{spanclass="code-comment"///spanspanclass="code-comment"donothing,justignoreanypossibleerrors/span}spanclass="code-keyword"finally/span{spanclass="code-keyword"if/span(spanclass="code-keyword"null/span!=stream)stream.Close();}spanclass="code-keyword"return/spansettings;}}/pre/code
deepakdynamite
评论会员:游客 时间:2012/02/06
序列化转换过程中的一个对象,这样您就可以传递到任何流,反之亦然