C# 处理文本文件的数据虚拟化
我读了这个链接: 要使用数据虚拟化读取文本文件,请执行以下操作: 在DemoCustomerProvider.cs中,我更改了:C# 处理文本文件的数据虚拟化,c#,wpf,winforms,C#,Wpf,Winforms,我读了这个链接: 要使用数据虚拟化读取文本文件,请执行以下操作: 在DemoCustomerProvider.cs中,我更改了: for( int i=startIndex; i<startIndex+count; i++ ) { Customer customer = new Customer { Id = i + 1, Name = "Customer" + (i+1) }; list.Add(customer);
for( int i=startIndex; i<startIndex+count; i++ )
{
Customer customer = new Customer { Id = i + 1, Name = "Customer" + (i+1) };
list.Add(customer);
}
用于(int i=startIndex;i由于您读取的是整个文本文件,因此无法实现数据虚拟化的目的,即仅延迟加载数据的可见部分。为此,您需要一个具有固定记录大小的数据库或文件,您可以从中读取与UI.p中显示的部分相对应的数据子集首先,请仔细阅读本文,以了解需要什么。此外,如果您只处理2MB的数据,请避免不必要的复杂性。不要使用大锤敲碎螺母
作为您评论的后续行动,让我向您提供以下提示:
您正在重复读取文件,并获取文件中的count×记录数。
每次滚动时,您的代码都会执行。从那里开始,并开始相应地修改代码。谢谢您的回答,但2 mb文本文件是示例,我想查看大约1 gig的大文本文件。因此,您能用代码示例解释更多内容以帮助我找到正确的方法吗?高级感谢。我还找到了此链接:,他们提到了它但是我需要你的帮助来解决这个问题。
for( int i=startIndex; i<startIndex+count; i++ )
{
using (StreamReader str = new StreamReader("C:\\test.txt"))
{
while (str.ReadLine() != null)
{
string data=str.ReadLine();
Customer customer = new Customer { Id = i + 1, Name =data }
list.Add(customer);
}
}
}