Reputation: 4807
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?
Upvotes: 8
Views: 76312
Reputation: 4850
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);
Upvotes: 12
Reputation: 1509
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;
Upvotes: 1
Reputation: 16505
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;
Upvotes: 8