Сообщение об ошибке: не Может преобразовать тип 'строка' для 'строкового представления []'

Я создаю динамический массив и получаю ошибку:

Сообщение об ошибке: не Может преобразовать тип 'строка' для 'строкового представления []'

Код:

arrTeamMembers += tb.Text;

ТБ. Текст содержит значения, такие как "Michael | Steve | Thomas | Jeff | Susan | Helen |"

Я пытаюсь передать значения от ТБ. Текст к arrTeamMembers. Я НЕ пытаюсь разделить текст. Как я могу разрешить эту ошибку?

6
задан user279521 25 February 2010 в 22:12
поделиться

4 ответа

Вы не можете просто добавлять строки в массив струн.

В зависимости от того, что вы на самом деле пытаетесь сделать, вам может понадобиться следующее:

string[] arrTeamMembers = new string[] { tb.Text };

или

arrTeamMembers[0] = tb.Text;

Вместо этого вы, вероятно, захотите использовать список.

List<string> stringlist = new List<string>();
stringlist.Add(tb.Text);
5
ответ дан 8 December 2019 в 04:52
поделиться

Попробуйте следующее:

arrTeamMembers = tb.Text.Split('|');
10
ответ дан 8 December 2019 в 04:52
поделиться

Проблема в том, что arrTeamMembers - это массив строк, а tb.Text - просто строка. Вам нужно назначить tb.Text индексу в массиве. Для этого используйте свойство indexer , которое выглядит как число в квадратных скобках сразу после имени переменной массива. Число в скобках - это отсчитываемый от 0 индекс в массиве, в котором вы хотите установить значение.

arrTeamMembers[0] += tb.Text;
8
ответ дан 8 December 2019 в 04:52
поделиться

Если вы пытаетесь разделить текст в текстовом поле, то

arrTeamMembers = tb.Text.Split( '|' );

Если это не работает, пытаетесь ли вы добавить текстовое поле в конец массива?

if ( arrTeamMembers == null )
  arrTeamMembers  = new string[0];

string[] temp = new string[arrTeamMembers.Length + 1];
Array.Copy( temp , 0, arrTeamMembers, 0, arrTeamMembers.Length );
temp[temp.Length - 1] = tb.Text;
arrTeamMembers = temp;
1
ответ дан 8 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: