Error message: Cannot convert type 'string' to 'string[]'

54,107

Solution 1

You can't just add strings to an array of strings.

Depending on what you are actually trying to do, you might want this:

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

or

arrTeamMembers[0] = tb.Text;

You probably want to use a List instead.

List<string> stringlist = new List<string>();
stringlist.Add(tb.Text);

Solution 2

Try this:

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

Solution 3

The problem is, arrTeamMembers is an array of strings, while tb.Text is simply a string. You need to assign tb.Text to an index in the array. To do this, use the indexer property, which looks like a number in square brackets immediately following the name of the array variable. The number in the brackets is the 0-based index in the array where you want to set the value.

arrTeamMembers[0] += tb.Text;

Solution 4

If you are trying to split the text in the textbox then

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

If this does not work, are you trying to append the textbox to the end of the array?

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;
Share:
54,107
user279521
Author by

user279521

.Net developer in training; working on multiple projects at any given time (austink_2004);

Updated on July 18, 2022

Comments

  • user279521
    user279521 almost 2 years

    I am creating a dynamic array, and getting an error:

    Error message: Cannot convert type 'string' to 'string[]'

    The code is:

    arrTeamMembers += tb.Text;
    

    tb.Text contains values such as "Michael | Steve | Thomas | Jeff | Susan | Helen |"

    I am trying to pass the values from tb.Text to arrTeamMembers. I am NOT trying to split the text. How can I resolve this error?