无法将类型'int'隐式转换为'int []'

Dor*_*eka 0 c# asp.net

我声明int[]如下

int[] iroleID = new int[] { };

我从数据库获取值并分配给的代码iroleid如下

if (oAuthenticate.getTaskID(out m_oDataSet1, "uspgetTaskID"))
{
  for (int iTaskid = 0; iTaskid < m_oDataSet1.Tables[0].Rows.Count; iTaskid++)
  {
   iroleID = Convert.ToInt32(m_oDataSet1.Tables[0].Rows[iTaskid]["RoleID"].ToString());
   strTaskID = m_oDataSet1.Tables[0].Rows[iTaskid]["TaskID"].ToString();
   arrTaskID.Add(strTaskID);
   }
}
Run Code Online (Sandbox Code Playgroud)

但是我遇到了一个错误,如上所述Cannot implicitly convert type 'int' to 'int[]'有人可以帮助我吗

Car*_*ten 5

并没有惊讶 看着

iroleID = Convert.ToInt32(...);
Run Code Online (Sandbox Code Playgroud)

Convert.ToIn32结果int就像编译器声明的那样。要么做类似的事情

if (oAuthenticate.getTaskID(out m_oDataSet1, "uspgetTaskID"))
{
  var iroleID = new int[m_oDataSet1.Tables[0].Rows.Count];
  for (int iTaskid = 0; iTaskid < m_oDataSet1.Tables[0].Rows.Count; iTaskid++)
  {
   iroleID[iTaskid] = Convert.ToInt32(m_oDataSet1.Tables[0].Rows[iTaskid]["RoleID"].ToString());
    /* ... */
   }
}
Run Code Online (Sandbox Code Playgroud)

或重新考虑您的算法。

PS:由于您没有说明目的iRoleID是什么,我几乎无法告诉您要做什么