第12章节可扩展标记语言.pptVIP

  • 0
  • 0
  • 约2.1万字
  • 约 57页
  • 2017-04-01 发布于四川
  • 举报
第12章节可扩展标记语言

* * * * * * * * * * * 读字符串程序如下,请先用上例建一个文件,然后用此例读出。 using System; using System.IO; using System.Collections.Generic; //使用泛型集合类必须引入的命名空间 class ReadFile { static void Main() { string sLine=; //建立元素为string类型的List对象 Liststring arrText = new Liststring(); using(StreamReader objReader= new StreamReader(d://g.text)) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. //使用using语句以确保所涉及的文件在写入或读取操作后正确关闭 { do { sLine=objReader.ReadLine(); if(sLine!=null) arrText.Add(sLine); }while(sLine!=null); } Console.WriteLine(文件的内容如下:); foreach(string m in arrText) Console.Write({0},m); } } Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. 6.1.4 序列化 对于一个复杂的数据结构,例如数组,用以上方法存入文件,就显得过于复杂了。为了简化这类问题,C#提出了序列化的概念,序列化包括序列化和反序列化,所谓序列化就是把类的对象作为一个整体存入文件,反序列化则是相反的过程。C#中的许多类都支持序列化,可以用如下方法判别一个类是否支持序列化: Dictionarystring, string h =//建立泛型哈希表对象 new Dictionarystring, string(); Type myType=h.GetType(); //如为true,支持序列化,这里myBool=true bool myBool=myType.IsSerializable; 【例6.1】下边的例子完成了一个哈希表对象的序列化。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. using System; using System.IO; //使用泛型集合类引用的命名空间 using System.Collections.Generic; //使用序列化引用的命名空间 using System.Runtime.Serialization.Formatters.Binary; //使用序列化引用的命名空间 using System.Runtime.Serialization; class SerialFile { static void Main() { Dictionarystring,string h= //建立哈希表对象 new Dictionarystring,string(); h.Add(键1, 值1);//哈希表的每一个元素是一对键值 h.Add(“键2”, “值2”);//例如商品编号和商品名称 //通过键值,可以很容易找到键值对应的值 h.Add(键3, 值3); Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. FileStream fs = //序列化数据 new FileStream(@d:/d.dat, FileMode.Create); BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(fs, h); fs.Close(); //下句为反序列化数据 fs = new FileStream(@d:/

文档评论(0)

1亿VIP精品文档

相关文档