Vb.net 15000行列表框以增量保存

Vb.net 15000行列表框以增量保存,vb.net,listbox,save,increment,Vb.net,Listbox,Save,Increment,我如何在列表框中提取15000行,并以100行的增量将它们保存到文件夹中的不同文本文件中。因此,我的列表框的前100行将保存到文件夹/List1.txt中,其中包含100行,以此类推。首先导入以下名称空间 Imports System.Threading.Tasks 收集并转换列表框中的所有项目。用于获取屏幕上显示的每个对象的字符串表示形式 Dim items As List(Of String) = ( From o As Object In Me.ListBox1.Item

我如何在列表框中提取15000行,并以100行的增量将它们保存到文件夹中的不同文本文件中。因此,我的列表框的前100行将保存到文件夹/List1.txt中,其中包含100行,以此类推。

首先导入以下名称空间

Imports System.Threading.Tasks
收集并转换
列表框中的所有项目。用于获取屏幕上显示的每个对象的字符串表示形式

Dim items As List(Of String) = (
    From o As Object
    In Me.ListBox1.Items
    Select Me.ListBox1.GetItemText(o)
).ToList()
定义文件路径。不要删除
{0}
,因为这将被替换为“文件号”

设置循环索引。如果您有
15000
项,则
toExclusive
将设置为
150

Dim fromInclusive As Integer = 0
Dim toExclusive As Integer = CType(Math.Ceiling(items.Count / 100.0R), Integer) 
如果跳过
(索引*100)
并获取
100
,则运行for循环。将结果写入(新)文件

Dim fromInclusive As Integer = 0
Dim toExclusive As Integer = CType(Math.Ceiling(items.Count / 100.0R), Integer) 
Parallel.For(
    fromInclusive,
    toExclusive,
    Sub(index As Integer)
        Dim lines As IEnumerable(Of String) = items.Skip((index * 100)).Take(100)
        My.Computer.FileSystem.WriteAllText(
            String.Format(path, (index + 1)),
            String.Join(Environment.NewLine, lines),
            False
        )
    End Sub
)