我有一个程序需要用逗号分隔的字符串列表。这是部分代码:
Dim sailnums = New String() {var(0), var(1), var(2), var(3), var(4), var(5), var(6), var(7), var(8), var(9)}
Dim recog As New SpeechRecognitionEngine()
recog.SetInputToDefaultAudioDevice()
Dim nums As New Choices(sailnums)
Dim gram As Grammar = New Grammar(New GrammarBuilder(nums))
recog.LoadGrammar(gram)
RemoveHandler recog.SpeechRecognized, AddressOf recog_SpeechRecognized
AddHandler recog.SpeechRecognized, AddressOf recog_SpeechRecognized
recog.RecognizeAsync(RecognizeMode.Multiple)
这段代码有效,但是我不知道在我的cade中确定了多少字符串作为我需要的var(索引号)。我希望能够插入一个变量,我可以放置在花括号之间,这些变量将插入由var(0)thru var(最大字符串数)标识的逗号分隔的完整字符串列表。这是可能的,如果是的话,我该怎么做。
答案 0 :(得分:0)
Choices
是否需要输入String数组作为输入?你说你需要一个以逗号分隔的列表,但我不知道你在哪里使用/需要一个。更不用说除了不处理未知数组长度之外,你说你有什么工作。
假设sailnums
按原样工作(长度问题除外),我使用Plutonix,似乎最好的办法是使用Dim sailnums as New List(of String)
并将其设置为
For i as Integer = 0 to var.Length-1
sailnums.Add(var(i))
Next
然后对Choices
进行适当的更新,以使用List而不是数组(这就是它现在正在使用的内容)。
或者,如果您确实需要sailnums
作为字符串,则可以使用
Dim sailnums as String
For i as Integer = 0 to var.Length-1
'Make sure we don't add a comma before the first item
If sailnums.length > 0 then
sailnums = sailnums & ", " & var(i)
Else
sailnums = var(i)
End If
Next
最后,如果sailnums
可以作为一个数组,那么sailnums
就没有必要将Dim nums As New Choices(sailnums)
更改为Dim nums as New Choices(var)
并切断中间位置人