[英]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.