Tengo el siguiente código:foreach con SqlDataReader?
SqlDataReader reader = getAddressQuery.sqlReader;
while (reader.Read())
{
foreach (Object ob in reader)
{
someText.InnerText = someText.InnerText + " " + ob.ToString();
}
}
El código en el bucle foreach no se ejecuta. Sin embargo, puedo hacer esto:
SqlDataReader reader = getAddressQuery.sqlReader;
while (reader.Read())
{
someText.InnerText = reader[0].ToString();
}
Que funciona.
Obviamente, pude lograr el mismo resultado utilizando un bucle for para más que un bucle foreach, pero creo que la sintaxis foreach es más clara, así que la uso cuando sea posible.
¿Qué ha fallado aquí? ¿Los bucles foreach en C# no son tan flexibles como en lenguajes de alto nivel?
No sé a ciencia cierta, pero yo asumir la foreach se iteración a través de cada campo en el conjunto de registros en lugar de cada registro ... – Chris