Here is my code:
public static int getUnidades(List<int> lista)
{
string conString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection SQLCon = new SqlConnection(conString);
string SQLCom = "Select UnidadesCliente FROM Cliente WHERE @id = IdCliente";
SqlCommand cmd = new SqlCommand(SQLCom, SQLCon);
List<int> listaUnidades = lista;
int t = 0;
foreach(int i in lista)
{
cmd.Parameters.AddWithValue("@id", Convert.ToString(i));
SQLCon.Open();
listaUnidades[t] = Convert.ToInt32(cmd.ExecuteScalar());
SQLCon.Close();
t++;
}
int total = 0;
foreach(int i in listaUnidades)
{
total = total + i;
}
return total;
}
I'm getting an InvalidOperationException in the foreach(int i in lista)
loop, saying "collection was modified, enumeration operation may not execute".
Now, I don't believe that I'm modifying the collection, so what's wrong?