问题
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?
回答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);
回答2:
Try this:
arrTeamMembers = tb.Text.Split('|');
回答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;
回答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;
来源:https://stackoverflow.com/questions/2337928/error-message-cannot-convert-type-string-to-string