1
using
System;
2 using System.Data;
3 using System.Data.SqlClient;
4 using System.IO;
5 using System.Runtime.Serialization.Formatters;
6 using System.Runtime.Serialization.Formatters.Soap;
7 using System.Runtime.Serialization.Formatters.Binary;
8 using System.Xml.Serialization;
9 namespace ConsoleApplication1
10 {
11 /// <summary>
12 /// Class1 的摘要说明。
13 /// </summary>
14 class Class1
15 {
16 /// <summary>
17 /// 应用程序的主入口点。
18 /// </summary>
19 [STAThread]
20 static void Main( string [] args)
21 {
22 System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection
23 ( " Server=localhost;Initial Catalog=Northwind;Integrated Security=SSPI; " );
24 System.Data.SqlClient.SqlDataAdapter myda = new System.Data.SqlClient.SqlDataAdapter
25 ( " select * from customers " ,connection);
26 System.Data.DataSet myds = new System.Data.DataSet();
27 System.Data.DataSet myds2 = new System.Data.DataSet();
28 myda.Fill(myds, " Customers " );
29 System.IO.MemoryStream s = new System.IO.MemoryStream();
30 SoapFormatter sf = new SoapFormatter();
31 sf.Serialize(s,myds);
32 s.Seek( 0 ,SeekOrigin.Begin);
33 // 或者
34 MemoryStream s1 = new MemoryStream(s.ToArray(), true );
35 myds2 = (DataSet)sf.Deserialize(s);
36 Console.WriteLine(myds2.GetXmlSchema());
37 Console.WriteLine( " " );
38 myds2 = (DataSet)sf.Deserialize(s1);
39 Console.WriteLine(myds2.GetXmlSchema());
40 s.Close();
41 // 试验直接得到字符串的形式
42 string s3 = System.Text.UTF8Encoding.UTF8.GetString(s1.ToArray());
43 Console.WriteLine(s3);
44 s1.Close();
45
46 }
47 }
48 }
49
50 还有其它序列化,包括XML序列化,Binary序列化,基本方式都是一样的.
51 另外,还可以序列化到本地文件中.放在内存中就可以在诸如Socket的程序中发送了.
2 using System.Data;
3 using System.Data.SqlClient;
4 using System.IO;
5 using System.Runtime.Serialization.Formatters;
6 using System.Runtime.Serialization.Formatters.Soap;
7 using System.Runtime.Serialization.Formatters.Binary;
8 using System.Xml.Serialization;
9 namespace ConsoleApplication1
10 {
11 /// <summary>
12 /// Class1 的摘要说明。
13 /// </summary>
14 class Class1
15 {
16 /// <summary>
17 /// 应用程序的主入口点。
18 /// </summary>
19 [STAThread]
20 static void Main( string [] args)
21 {
22 System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection
23 ( " Server=localhost;Initial Catalog=Northwind;Integrated Security=SSPI; " );
24 System.Data.SqlClient.SqlDataAdapter myda = new System.Data.SqlClient.SqlDataAdapter
25 ( " select * from customers " ,connection);
26 System.Data.DataSet myds = new System.Data.DataSet();
27 System.Data.DataSet myds2 = new System.Data.DataSet();
28 myda.Fill(myds, " Customers " );
29 System.IO.MemoryStream s = new System.IO.MemoryStream();
30 SoapFormatter sf = new SoapFormatter();
31 sf.Serialize(s,myds);
32 s.Seek( 0 ,SeekOrigin.Begin);
33 // 或者
34 MemoryStream s1 = new MemoryStream(s.ToArray(), true );
35 myds2 = (DataSet)sf.Deserialize(s);
36 Console.WriteLine(myds2.GetXmlSchema());
37 Console.WriteLine( " " );
38 myds2 = (DataSet)sf.Deserialize(s1);
39 Console.WriteLine(myds2.GetXmlSchema());
40 s.Close();
41 // 试验直接得到字符串的形式
42 string s3 = System.Text.UTF8Encoding.UTF8.GetString(s1.ToArray());
43 Console.WriteLine(s3);
44 s1.Close();
45
46 }
47 }
48 }
49
50 还有其它序列化,包括XML序列化,Binary序列化,基本方式都是一样的.
51 另外,还可以序列化到本地文件中.放在内存中就可以在诸如Socket的程序中发送了.