如何将字符串列表加载到需要以逗号分隔的字符串列表的代码中

时间:2015-05-22 22:30:56

标签: vb.net

我有一个程序需要用逗号分隔的字符串列表。这是部分代码:

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(最大字符串数)标识的逗号分隔的完整字符串列表。这是可能的,如果是的话,我该怎么做。

1 个答案:

答案 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)并切断中间位置人