none
C#文件逐行读出放入数组中 RRS feed

  • 问题

  • 各位高手,我想将每组数据存入文件,以二维数组的形式存入,读出来的时候逐行读出来,存入数组,在将存入二维数组,想知道有没有更好的办法和逐行读出存入数组的代码及其含义,先谢谢各位高手了,我写的是winform。
    2010年6月18日 2:34

答案

  • 我建议您直接把数据存到 JSON,然后读取的时候直接用 JavaScriptSerializer 反序列化。这样是很简单的。

    简单的例子,如果您有一个 Person[] 数组要存到文件,则:

    Person[] persons = ... // 初始化要存放的对象。
    JavaScriptSerializer serializer = new JavaScriptSerializer();
    string content = serializer.Serialize(persons);
    System.IO.File.WriteToText(...) // 存到文件。

    // 读取
    string content = System.IO.File.ReadAllText(...);
    JavaScriptSerializer serializer = new JavaScriptSerializer(typeof(Person[]));
    Person[] persons = serializer.Deserialize(content) as Person[];

    以上是伪代码,不一定能编译的,但它指示了基本的解决方法。请参考。


    Mark Zhou
    2010年6月18日 6:45

全部回复

  • 我建议您直接把数据存到 JSON,然后读取的时候直接用 JavaScriptSerializer 反序列化。这样是很简单的。

    简单的例子,如果您有一个 Person[] 数组要存到文件,则:

    Person[] persons = ... // 初始化要存放的对象。
    JavaScriptSerializer serializer = new JavaScriptSerializer();
    string content = serializer.Serialize(persons);
    System.IO.File.WriteToText(...) // 存到文件。

    // 读取
    string content = System.IO.File.ReadAllText(...);
    JavaScriptSerializer serializer = new JavaScriptSerializer(typeof(Person[]));
    Person[] persons = serializer.Deserialize(content) as Person[];

    以上是伪代码,不一定能编译的,但它指示了基本的解决方法。请参考。


    Mark Zhou
    2010年6月18日 6:45
  • 谢谢了,不好意思,我忘了描述了,我写的是winform,不过以后我主要写web了,受教了。
    2010年6月18日 9:22
  • Windows Forms 也是一样。JavaScriptSerializer 产生 JSON 字符串来表示数据。而 JSON 只是一种数据表示形式,不依赖于平台。
    Mark Zhou
    2010年6月18日 9:47