2015-05-22 43 views
1

我有一个程序,需要用逗号分隔的字符串列表。下面是部分代码:如何将字符串列表加载到需要用逗号分隔的字符串列表的代码中

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) 

此代码的工作,但我不知道提前多少我凯德认定为VAR(索引号)的字符串我将需要。我希望能够插入一个变量,我可以在大括号之间插入由var(0)至var(最大字符串数)标识的逗号分隔的完整字符串列表。这是可能的,如果是的话,我该怎么做。

+1

改为使用['List(of String)'](https://msdn.microsoft.com/en-us/library/6sh2ey19.aspx)。所有的力量,没有阵列的麻烦。 – Plutonix

+0

是'Dim s As String()= SomeStringVariable.Split(“,”)'你在找什么? – Index

+0

如果你只想在当前状态下复制'var',所以如果你改变'var',你就可以使用'Dim s As String()=SomeStringÀrray.Clone' – Index

回答

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)和切出中间人。

相关问题