Pourquoi ne puis-je faire foreach (var article dans DataTable.Rows)?
Question
Y at-il une raison pour laquelle je ne peux pas faire ce qui suit:
foreach (var Item in DataTable.Rows) {
plutôt que d'avoir à faire
foreach (DataRow Item in DataTable.Rows) {
J'aurais pensé que cela était possible, comme il est sur d'autres types de données. Par exemple:
foreach (var Employee in Staff) { // string[] Staff etc...
Lorsque je tente la première boucle foreach, je reçois l'erreur CS0021:. Ne peut pas appliquer l'indexation avec [] à une expression de type 'objet'
Pourquoi ne peut pas la figure du compilateur que .Rows retourne une collection de DataRows?
Autres conseils
Brian est tout à fait raison sur la raison de cela, mais il y a un moyen plus simple de l'éviter: utiliser DataTableExtensions.AsEnumerable () :
foreach (var row in DataTable.AsEnumerable())
{
...
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow