2017-02-20 3 views
2

im сделать программу псевдонимов речи. Я пытаюсь добавить команды. Вы знаете, что в основном вы создаете массив строк string mystring = "string1", "string2"; Как я могу добавить его так же, как «string3», чтобы сделать его string mystring = "string1", "string2", "string3"; Вот мой код:C# Добавить строки вместе

List<string> myCollection = new List<string>(); 
      myCollection.Add("hello"); 
      myCollection.Add("test"); 
      string final = string.Join(",", myCollection.ToArray()); 
      richTextBox1.AppendText(final); 
      sp.LoadGrammar(new Grammar(new GrammarBuilder(new Choices(new String[] { "" + final })))); 
+0

В чем проблема, с которой вы столкнулись? – CodingYoshi

+0

@CodingYoshi, когда я это делаю, я не получаю 2 отдельно взятые строки. Я получаю 1 строку как привет, test –

+0

Вы должны прочитать [ask], а затем отредактировать свой вопрос, на основе страницы [ask], чтобы было понятнее. – Enigmativity

ответ

3

В API вы вызываете требует массив string. Если вы знаете, сколько строк вы пройдете, тогда не используйте List<string>. Это поможет вам избежать необходимости конвертировать List<string> в string[]. Вот как это будет работать:

var myCollection = new string[2]; 
myCollection[0] = "hello"; 
myCollection[1] = "test"; 
sp.LoadGrammar(new Grammar(new GrammarBuilder(myCollection))); 

Если вы не уверены, сколько строк вы будете проездом затем использовать List<string> так:

var myCollection = new List<string>(); 
myCollection.Add("hello"); 
myCollection.Add("test"); 

Затем вам нужно преобразовать List<string> к string[] , просто позвоните ToArray<string>() на вашей коллекции, как это:

var myCollectionAsArray = myCollection.ToArray(); 
sp.LoadGrammar(new Grammar(new GrammarBuilder(new Choices(myCollectionAsArray)))); 

Что вы имеете в виду, если знаете, сколько строк вы пройдете?

Если вы проверяли какое-либо динамическое состояние (условие, известное только во время выполнения), чтобы добавить элементы в коллекцию выборов, вам понадобится List<string>. Например:

var myCollection = new List<string>(); 

myCollection.Add("hello"); 
if (someCondition) 
{ 
    // this will only be known at runtime 
    myCollection.Add("test"); 
} 
+0

Спасибо! Работает как шарм! –

Смежные вопросы