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

余生长醉 提交于 2019-12-29 06:57:06

问题


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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!