错误消息:无法将类型'string'转换为'string []'

时间:2010-02-25 21:52:56

标签: c# asp.net-3.5

我正在创建一个动态数组,并收到错误:

错误消息:无法将类型'string'转换为'string []'

代码是:

arrTeamMembers += tb.Text;

tb.Text包含诸如“Michael | Steve | Thomas | Jeff | Susan | Helen |”之类的值。

我正在尝试将值从tb.Text传递给arrTeamMembers。我不是要分割文本。 如何解决此错误?

4 个答案:

答案 0 :(得分:10)

试试这个:

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

答案 1 :(得分:8)

问题是,arrTeamMembers是一个字符串数组,而tb.Text只是一个字符串。您需要将tb.Text分配给数组中的索引。要执行此操作,请使用 indexer 属性,该属性看起来像紧跟在数组变量名称后面的方括号中的数字。括号中的数字是要设置值的数组中基于0的索引。

arrTeamMembers[0] += tb.Text;

答案 2 :(得分:5)

您不能只是将字符串添加到字符串数组中。

根据您实际尝试的操作,您可能需要这样:

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

arrTeamMembers[0] = tb.Text;

您可能希望改用List。

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

答案 3 :(得分:1)

如果您尝试拆分文本框中的文本,那么

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;