Tôi có đoạn mã sau:foreach với SqlDataReader?
SqlDataReader reader = getAddressQuery.sqlReader;
while (reader.Read())
{
foreach (Object ob in reader)
{
someText.InnerText = someText.InnerText + " " + ob.ToString();
}
}
Mã trong vòng lặp foreach không thực thi. Tuy nhiên, tôi có thể thực hiện việc này:
SqlDataReader reader = getAddressQuery.sqlReader;
while (reader.Read())
{
someText.InnerText = reader[0].ToString();
}
Tác phẩm nào hoạt động. Rõ ràng tôi có thể đạt được kết quả tương tự bằng cách sử dụng vòng lặp thông thường thay vì vòng lặp foreach, nhưng tôi nghĩ cú pháp foreach là rõ ràng hơn, vì vậy tôi sử dụng nó khi có thể.
Điều gì đã xảy ra ở đây? Các vòng foreach trong C# không linh hoạt như trong các ngôn ngữ cấp cao hơn?
Tôi không biết chắc chắn nhưng tôi giả định foreach được lặp lại qua từng lĩnh vực trong recordset hơn là mỗi bản ghi ... – Chris