无法让列表在 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只需像这样使用循环变量I
:
For I = 0 To NumberOfAudioFiles
lstOfReaderOBJs.Add(Reader1(I))
Next
【讨论】:
@Chris Cleveland - 很高兴我能帮上忙!不要忘记接受这个答案 :-) 如果文件的名称遵循某种模式,您还可以有一个循环来初始化 Reader1() 数组,或者您可以在数组中过滤您想要的文件以上是关于无法让列表在 for next 循环中以我想要的方式工作的主要内容,如果未能解决你的问题,请参考以下文章