首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c#将对象序列化作字符串和将字符串反序列化为对象

2012-10-25 
c#将对象序列化为字符串和将字符串反序列化为对象????????}????}????/// summary????/// 反序列化 字符

c#将对象序列化为字符串和将字符串反序列化为对象

????????}
????}

????/// <summary>
????/// 反序列化 字符串到对象
????/// </summary>
????/// <paramname="obj">泛型对象</param>
????/// <paramname="str">要转换为对象的字符串</param>
????///<returns>反序列化出来的对象</returns>
????public static T Desrialize<T>(T obj,string str)
????{
????????try
????????{
????????????obj = default(T);
????????????IFormatter formatter = new BinaryFormatter();
????????????byte[] buffer = Convert.FromBase64String(str);
????????????MemoryStream stream = new MemoryStream(buffer);
????????????obj = (T)formatter.Deserialize(stream);
????????????stream.Flush();
????????????stream.Close();
????????}
????????catch (Exception ex)
????????{
????????????throw new Exception("反序列化失败,原因:" + ex.Message);
????????}
????????return obj;
????}

}

?

demo页面的cs文件代码:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class _fan_xuliehua : System.Web.UI.Page
{
??? protectedvoid Page_Load(object sender, EventArgs e)
??? {
???????//序列化
???????DataTable dt = new DataTable();
???????dt.Columns.Add("ID");
???????dt.Columns.Add("Name");
???????dt.Rows.Add(new object[] { 1, "first" });
???????dt.Rows.Add(new object[] { 2, "second" });
???????string result = SerializeUtilities.Serialize(dt);
???????Response.Write(result);
???????
???????//反序列化
???????string mystr = result;
???????DataTable _resDT = new DataTable();

???????_resDT = (DataTable)SerializeUtilities.Desrialize(_resDT,mystr);
???????
???????Response.Write("<br>反序列化结果<br>"+ _resDT.Rows[0][0].ToString() + ":" +_resDT.Rows[0][1].ToString()+ "<br>");
???????Response.Write(_resDT.Rows[1][0].ToString() + ":" +_resDT.Rows[1][1].ToString() +"<br>");

??? }
}

?

转:http://blog.sina.com.cn/s/blog_69e8baad0100lum7.html

热点排行