无法隐式转换类型' int'到'字符串[]'?

时间:2014-10-24 07:14:38

标签: c# asp.net

我必须在桌子上计算一行。根据这个数字,我必须分配团队。使用下面给出的代码显示错误无法隐式将类型'int'转换为'string []'。

代码:

protected void ddlCircle_SelectedIndexChanged(object sender, EventArgs e)
    {
      ArrayList teamList = new ArrayList();

      ShadingAnalysisDataSetTableAdapters.tbl_CadEngineersTeamTableAdapter cd;
      cd = new ShadingAnalysisDataSetTableAdapters.tbl_CadEngineersTeamTableAdapter();
      DataTable dt = new DataTable();
      dt = cd.GetAvailableData(ddlCircle.SelectedValue);

      int x;

      x = dt.Rows.Count;

      String[] a;


      for (int i = 1; i <= x; i++)
        {
           a = teamList.Add(String.Format("Team{0}", i)); // error popup here
        }
    }

2 个答案:

答案 0 :(得分:6)

Add()方法的返回值类型为int,您将其分配给string[]数组。将您的代码更改为:

  for (int i = 1; i <= x; i++)
    {
       teamList.Add(String.Format("Team{0}", i));
    }

另外,如果要将ArrayList转换为string [],可以使用以下代码:

  a = teamList.ToArray(typeof(string)) as string[];

答案 1 :(得分:0)

如果我是你,我会将teamList改为这样的......

var teamList = new List<string>();

然后在填充List时执行此操作:

for (int i = 1; i <= x; i++)
    {
      teamList.Add(string.Format("Team{0}",i));
    }

然后一旦完成循环,你可以调用:

a = teamList.ToArray() 

然后你的字符串数组将是数组形式的teamList。

是否有特定原因需要将其与该数组对齐并且无法将列表传递出去?