繁体   English   中英

快速清理数据集 - 读取 xml 文件 (C#)

[英]Fast cleaning DataSet - reading xml files (C#)

我使用 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 文件,所以清除数据集非常慢。

我怎样才能加快这个清算?
读取文件也很慢!

在一个:英特尔 i7 950,8 Gb,Win7 64 位。

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM