无法让列表在 for next 循环中以我想要的方式工作

Posted

技术标签:

【中文标题】无法让列表在 for next 循环中以我想要的方式工作【英文标题】:Cannot get the lists to work withing a for next loop to behave the way I want 【发布时间】:2019-07-02 21:45:31 【问题描述】:

尝试将各种音频文件混合为一个

我是这样写出来的

lstOfReaderOBJs.Add(Reader1(0))
lstOfReaderOBJs.Add(Reader1(1))
lstOfReaderOBJs.Add(Reader1(2))

但我想把它放在一个 for next 循环中,以便在路上有一个可变的数量,因此 NumberOfAudioFiles

 Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click

        Dim NumberOfAudioFiles As Integer = 2
        Dim Reader1(NumberOfAudioFiles) As AudioFileReader
        Reader1(0) = New AudioFileReader("C:\Users\Server\Desktop\Singing Stuff\Piano Tones\Wav\0-3.wav")
        Reader1(1) = New AudioFileReader("C:\Users\Server\Desktop\Singing Stuff\Piano Tones\Wav\4-3.wav")
        Reader1(2) = New AudioFileReader("C:\Users\Server\Desktop\Singing Stuff\Piano Tones\Wav\7-3.wav")
        Dim lstOfReaderOBJs As New List(Of AudioFileReader)
        For I = 0 To NumberOfAudioFiles
            lstOfReaderOBJs.Add(Reader1(NumberOfAudioFiles))
            'lstOfReaderOBJs.Add(Reader1(NumberOfAudioFiles))
            'lstOfReaderOBJs.Add(Reader1(NumberOfAudioFiles))
        Next

        Dim mixer = New MixingWaveProvider32(lstOfReaderOBJs)
        WaveFileWriter.CreateWaveFile("C:\Users\Server\Desktop\Singing Stuff\Piano Tones\Wav\mixed.wav", mixer)
    End Sub

当我将 lstOfReaderOBJs.Add(Reader1(NumberOfAudioFiles)) 放入 for next 循环时,我在列表中只得到一个 ReaderObject 并且是最后一个而不是全部三个。

【问题讨论】:

你的意思是lstOfReaderOBJs.Add(Reader1(I)) 仅供参考 List 类有一个名为 AddRange 的方法,它接受 数组作为输入。无需循环 另一种替代方法 lstOfReaderOBJs.Add(New AudioFileReader(....)) 【参考方案1】:

只需像这样使用循环变量I

For I = 0 To NumberOfAudioFiles
    lstOfReaderOBJs.Add(Reader1(I))
Next

【讨论】:

@Chris Cleveland - 很高兴我能帮上忙!不要忘记接受这个答案 :-) 如果文件的名称遵循某种模式,您还可以有一个循环来初始化 Reader1() 数组,或者您可以在数组中过滤您想要的文件

以上是关于无法让列表在 for next 循环中以我想要的方式工作的主要内容,如果未能解决你的问题,请参考以下文章

在 FOR 循环批处理语法中使用变量进行字符串替换

如何将此 for 循环的结果保存为向量而不是单个值?

我应该使用迭代器还是 for 循环来迭代?

Iterable 和 Iterator

使用 CSS3 动画和 Sass @for 循环触发列表

无法在我的 for 循环中使用 add_roles discord.py 重写