快速清理DataSet - 读取xml文件(C#)

时间:2010-09-17 07:43:41

标签: c# xml dataset clear

我使用DataGrid来显示xml文件。 Grid的DataSource是一个DataSet。(使用模式)

            Assembly assembly = Assembly.GetExecutingAssembly();
            Stream stream = assembly.GetManifestResourceStream("XML_Reader.Resources.schema.xsd");
            XmlSchemaSet schemas = new XmlSchemaSet();
            XmlReaderSettings settings = new XmlReaderSettings();
            settings.ValidationType = ValidationType.Schema;
            settings.Schemas.Add(null, XmlReader.Create(stream));
            using (XmlReader reader = XmlReader.Create(xmlFile, settings))
            {
                newDataSet.ReadXml(reader);
            }
            dataGrid.DataSource = newDataSet;


但是在读取新的xml文件时,我需要清除DataSet。(newDataSet.Clear();
因为我读了'大'(40 Mb)xml文件,清除DataSet是非常慢。

如何加快清除速度?
读取文件也很慢!

上一篇:Intel i7 950,8 Gb,Win7 64位。

3 个答案:

答案 0 :(得分:1)

为什么不能只创建新数据集并使用它来清除旧数据集?旧的将由.NET收集垃圾。

答案 1 :(得分:0)

我建议您为每个文件使用新的DataSet对象,并避免完全使用DataSet.Clear()。只需将垃圾收集器清除旧数据集即可。

答案 2 :(得分:-1)

让我回答我自己的问题; - ))

类型化DataSet只是一个可以像任何其他类一样实例化的类。
工具生成的任何东西都没有魔力,这些工具只是生成类,你可以像使用其他类一样使用这些类。

NewDataSet d1 = new NewDataSet();在那里放置正确的类名而不是“NewDataSet”。