C#中如何传递数组中的参数?

How to pass parameter from an array in c#?

我想通过数组动态分配一个值参数。 例如,数组 arr_param 将包含两个值 [0] = "abc"[1] = "ZYX" .现在,我将分配它们。这里的问题是我必须在 运行 foreach 之后指定正确的元素 [0][1],我尝试这样做但未能转换为 int

string[] arr_param  =  array_parameter.Split(';');
foreach (DataRow parmRow in parmsDataTable.Rows)
{
    string parmName = parmRow[parmNameDataColumn].ToString();
    cmd.Parameters.AddWithValue(parmName, arr_param[Convert.ToInt32(parmsDataTable.Rows)]);
}

我收到错误 Unable to cast object of type 'System.Data.DataRowCollection' to type 'System.IConvertible'

parmsDataTable.Rows 是一个 DataRowCollection,不能转换为 int

一个简单解决方案:

string[] arr_param  =  array_parameter.Split(';');
int counter = 0;
foreach (DataRow parmRow in parmsDataTable.Rows)
{
   string parmName = parmRow[parmNameDataColumn].ToString();
   cmd.Parameters.AddWithValue(parmName, arr_param[counter++)]);
}

或者:

string[] arr_param  =  array_parameter.Split(';');
foreach (DataRow parmRow in parmsDataTable.Rows)
{
   string parmName = parmRow[parmNameDataColumn].ToString();
   cmd.Parameters.AddWithValue(parmName,arr_param[parmsDataTable.Rows.IndexOf(parmRow))]);
}