我必须在桌子上计算一行。根据这个数字,我必须分配团队。使用下面给出的代码显示错误无法隐式将类型'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
}
}
答案 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。
是否有特定原因需要将其与该数组对齐并且无法将列表传递出去?